· 10 years ago · May 26, 2016, 09:15 PM
1Imports MySql.Data.MySqlClient
2Module Module1
3 Public stringligacao As String
4 Public ligacaobasedados As MySqlConnection
5 Public nomebd As String
6
7 Public Acessogestãoclientes, acessogestãoutilizadores, acessogestaoingredientes, acessogestaopizzas, acessogestaofornecedores, acessogestaonegocios, acessogestaodispensa, acessogestaosistema As Integer
8
9
10 Public Function CriarBasedados() As Boolean
11 Dim sql As String
12 Dim cmd As New MySqlCommand
13 Dim da As MySqlDataAdapter
14 Dim ds As New DataSet
15 Dim resposta As String
16
17
18
19 sql = "CREATE DATABASE IF NOT EXISTS Pizzaria;"
20 cmd = New MySqlCommand(sql, ligacaobasedados)
21 cmd.ExecuteNonQuery()
22
23
24
25 sql = "USE Pizzaria;"
26 cmd = New MySqlCommand(sql, ligacaobasedados)
27 cmd.ExecuteNonQuery()
28
29 sql = "CREATE TABLE IF NOT EXISTS Clientes("
30 sql = sql & "ncliente INT AUTO_INCREMENT PRIMARY KEY, Bi VARCHAR(10), Ncontribuinte VARCHAR(20), nome VARCHAR(200), morada VARCHAR(100), codpostal VARCHAR(10), telefone VARCHAR(9), email VARCHAR(50), numeroconfirmacao VARCHAR(6) , foto VARCHAR(100), login VARCHAR(100), password VARCHAR(100),estado BOOLEAN) ENGINE=innoDB DEFAULT CHARSET=latin1;"
31 cmd = New MySqlCommand(sql, ligacaobasedados)
32 cmd.ExecuteNonQuery()
33
34
35 sql = "CREATE TABLE IF NOT EXISTS conf_empresa(nome VARCHAR(100),slogan VARCHAR(100), morada VARCHAR(500), cod_postal VARCHAR(100), nib VARCHAR(100), email VARCHAR(100),"
36 sql = sql & "telefone VARCHAR(20), mesas VARCHAR(200),foto VARCHAR(100))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
37 cmd = New MySqlCommand(sql, ligacaobasedados)
38 cmd.ExecuteNonQuery()
39
40 sql = "CREATE TABLE IF NOT EXISTS utilizadores(n_utilizador INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(100), password VARCHAR(100), acesso VARCHAR(1), email VARCHAR(50), aviso BOOLEAN, t_aviso VARCHAR(500), estado BOOLEAN)"
41 sql = sql & "ENGINE=InnoDB DEFAULT CHARSET=latin1;"
42 cmd = New MySqlCommand(sql, ligacaobasedados)
43 cmd.ExecuteNonQuery()
44
45
46
47 'TABELAS CRIADAS PELO ANGELO
48
49 sql = "CREATE TABLE IF NOT EXISTS ingrediente(ningre INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(200),"
50 sql = sql & " p_compraiva VARCHAR(100), p_compra VARCHAR(100), p_vendaiva VARCHAR(100), p_venda VARCHAR(100), qstock VARCHAR(100),"
51 sql = sql & " Porcoes VARCHAR(100),uni_med VARCHAR(100), foto MEDIUMBLOB) ENGINE=InnoDB DEFAULT CHARSET=latin1;"
52 cmd = New MySqlCommand(sql, ligacaobasedados)
53 cmd.ExecuteNonQuery()
54
55
56 sql = "CREATE TABLE IF NOT EXISTS fornecedor(n_fornecedor INT AUTO_INCREMENT PRIMARY KEY, nome VARCHAR(100), morada VARCHAR(100), codpostal VARCHAR(100), telefone VARCHAR(100),"
57 sql = sql & " email VARCHAR(100), nif VARCHAR(100), nib VARCHAR(100))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
58 cmd = New MySqlCommand(sql, ligacaobasedados)
59 cmd.ExecuteNonQuery()
60
61
62 sql = "CREATE TABLE IF NOT EXISTS produto(n_produto INT AUTO_INCREMENT PRIMARY KEY, produto VARCHAR(100), descricao VARCHAR(500), p_vendaiva VARCHAR(50), p_venda VARCHAR(100)"
63 sql = sql & ")ENGINE=InnoDB DEFAULT CHARSET=latin1;"
64 cmd = New MySqlCommand(sql, ligacaobasedados)
65 cmd.ExecuteNonQuery()
66
67 sql = "CREATE TABLE IF NOT EXISTS tamanho(n_tamanho INT AUTO_INCREMENT PRIMARY KEY, tamanho VARCHAR(100)"
68 sql = sql & ")ENGINE=InnoDB DEFAULT CHARSET=latin1;"
69 cmd = New MySqlCommand(sql, ligacaobasedados)
70 cmd.ExecuteNonQuery()
71
72 sql = "CREATE TABLE IF NOT EXISTS compra(n_ingrediente INT, quantidade VARCHAR(100), preco VARCHAR(100), n_fornecedor INT, data DATE, n_compra VARCHAR(100), n_produto INT,"
73 sql = sql & " FOREIGN KEY(n_ingrediente) REFERENCES ingrediente(ningre), FOREIGN KEY(n_fornecedor) REFERENCES fornecedor(n_fornecedor), FOREIGN KEY(n_produto) REFERENCES produto(n_produto))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
74 cmd = New MySqlCommand(sql, ligacaobasedados)
75 cmd.ExecuteNonQuery()
76
77 sql = "CREATE TABLE IF NOT EXISTS venda(n_venda INT AUTO_INCREMENT PRIMARY KEY, ncliente INT, n_mesa INT, data DATE, tipo VARCHAR(100), precotiva VARCHAR(100), precot VARCHAR(100), fp VARCHAR(100),"
78 sql = sql & " FOREIGN KEY(ncliente) REFERENCES clientes(ncliente))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
79 cmd = New MySqlCommand(sql, ligacaobasedados)
80 cmd.ExecuteNonQuery()
81
82 sql = "CREATE TABLE IF NOT EXISTS v_produto(n_venda INT, n_produto INT, n_venda_produto INT AUTO_INCREMENT PRIMARY KEY, quantidade VARCHAR(100), preco VARCHAR(100), precoiva VARCHAR(100),"
83 sql = sql & " FOREIGN KEY(n_venda) REFERENCES venda(n_venda), FOREIGN KEY(n_produto) REFERENCES produto(n_produto))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
84 cmd = New MySqlCommand(sql, ligacaobasedados)
85 cmd.ExecuteNonQuery()
86
87 sql = "CREATE TABLE IF NOT EXISTS pizza(n_pizza INT AUTO_INCREMENT PRIMARY KEY, n_tamanho INT, precotiva VARCHAR(100), precot VARCHAR(100), estado VARCHAR(100),"
88 sql = sql & " FOREIGN KEY(n_tamanho) REFERENCES tamanho(n_tamanho)) ENGINE=InnoDB DEFAULT CHARSET=latin1;"
89 cmd = New MySqlCommand(sql, ligacaobasedados)
90 cmd.ExecuteNonQuery()
91
92 sql = "CREATE TABLE IF NOT EXISTS pizza_ing(n_pizza INT, ningre INT, quantidade VARCHAR(100), estr VARCHAR(100),"
93 sql = sql & " FOREIGN KEY(n_pizza) REFERENCES pizza(n_pizza), FOREIGN KEY(ningre) REFERENCES ingrediente(ningre))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
94 cmd = New MySqlCommand(sql, ligacaobasedados)
95 cmd.ExecuteNonQuery()
96
97 sql = "CREATE TABLE IF NOT EXISTS v_pizza(n_venda INT, n_pizza INT, n_v_pizza INT AUTO_INCREMENT PRIMARY KEY,"
98 sql = sql & " FOREIGN KEY(n_venda) REFERENCES venda(n_venda), FOREIGN KEY(n_pizza) REFERENCES pizza(n_pizza))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
99 cmd = New MySqlCommand(sql, ligacaobasedados)
100 cmd.ExecuteNonQuery()
101
102 sql = "CREATE TABLE IF NOT EXISTS historico(num INT AUTO_INCREMENT PRIMARY KEY, data DATE, form VARCHAR(500), n_util INT, alteracoes VARCHAR(5000),"
103 sql = sql & " FOREIGN KEY(n_util) REFERENCES utilizadores(n_utilizador))ENGINE=InnoDB DEFAULT CHARSET=latin1;"
104 cmd = New MySqlCommand(sql, ligacaobasedados)
105 cmd.ExecuteNonQuery()
106
107
108 'AQUI ACABAM AS TABELAS DO ANGELO
109
110
111 sql = "CREATE TABLE IF NOT EXISTS Acessos("
112 sql = sql & "n_acesso INT AUTO_INCREMENT PRIMARY KEY, descricao VARCHAR(100)) ENGINE=innoDB DEFAULT CHARSET=latin1;"
113 cmd = New MySqlCommand(sql, ligacaobasedados)
114 cmd.ExecuteNonQuery()
115
116
117 sql = "CREATE TABLE IF NOT EXISTS Images("
118 sql = sql & "nfoto INT AUTO_INCREMENT PRIMARY KEY, endereco VARCHAR(5000)) ENGINE=innoDB DEFAULT CHARSET=latin1;"
119 cmd = New MySqlCommand(sql, ligacaobasedados)
120 cmd.ExecuteNonQuery()
121
122
123
124
125
126 sql = "Select Count(*) as contar from images"
127 cmd = New MySqlCommand(sql, ligacaobasedados)
128 cmd.ExecuteNonQuery()
129 da = New MySqlDataAdapter(sql, ligacaobasedados)
130 ds = New DataSet
131 da.Fill(ds, "images")
132 resposta = ds.Tables("images").Rows(0).Item(0)
133
134 If resposta = 0 Then
135 sql = "Insert Into Images(endereco) values('\\Images\\null.png');"
136 cmd = New MySqlCommand(sql, ligacaobasedados)
137 cmd.ExecuteNonQuery()
138 End If
139 Return True
140
141 End Function
142
143 Public Sub abrebd()
144 Dim nome As String
145 Dim servidor, user, pass As String
146
147 'testar se existe o ficheiro de config
148 nome = Application.LocalUserAppDataPath & "\mysql.ini"
149 If My.Computer.FileSystem.FileExists(nome) = False Then
150 Configuração_MySQL.ShowDialog()
151 If My.Computer.FileSystem.FileExists(nome) = False Then End
152 End If
153 Using ficheiro As New IO.StreamReader(nome)
154 servidor = ficheiro.ReadLine()
155 user = ficheiro.ReadLine()
156 pass = ficheiro.ReadLine()
157 End Using
158
159 stringligacao = "Server =" & servidor & "; port =3306; uid =" & user & "; pwd=" & pass
160 ligacaobasedados = New MySqlConnection(stringligacao)
161
162 Try
163 ligacaobasedados.Open()
164 Catch ex As Exception
165 MessageBox.Show("Não foi possivel ligar à base de dados! " & vbCrLf & ex.Message)
166 My.Computer.FileSystem.DeleteFile(nome)
167 End Try
168
169 End Sub
170
171
172 Public Sub fecharbd()
173
174 ligacaobasedados.Close()
175
176 End Sub
177
178End Module