· 4 years ago · Jan 15, 2021, 01:04 PM
1class funcoes():
2 def botao_limpar(self):
3 self.codigo_entry.delete(0, END)
4 self.nome_entry.delete(0, END)
5 self.telefone_entry.delete(0, END)
6 self.cidade_entry.delete(0, END)
7 def conecta_bd(self):
8 self.conn = sqlite3.connect("Cadastro_db");print("conectando com banco de dados")
9 self.cursor = self.conn.cursor()
10 def desconectar_db(self):
11 self.conn.close();print("Desconectado")
12 def criarTabelas(self):
13 self.conecta_bd()
14 ### criando tabelas
15 self.cursor.execute("""
16 CREATE TABLE IF NOT EXISTS clientes (
17 cod INTEGER PRIMARY KEY,
18 nome_cliente CHAR(40) NOT NULL,
19 telefone INTEGER(20),
20 cidade CHAR(40)
21 );
22 """)
23 self.conn.commit();
24 print("banco de dados criado")
25 self.desconectar_db()
26 def variaveis(self):
27 self.codigo = self.codigo_entry.get()
28 self.nome = self.nome_entry.get()
29 self.telefone = self.telefone_entry.get()
30 self.cidade = self.cidade_entry.get()
31 def add_cliente(self):
32 self.variaveis()
33 self.conecta_bd()
34 self.cursor.execute(""" INSERT INTO clientes (nome_cliente, telefone, cidade)
35 VALUES (?, ?, ?)""", (self.nome, self.telefone, self.cidade))
36 self.conn.commit()
37 self.desconectar_db()
38 self.select_lista()
39 self.botao_limpar()
40 def select_lista(self):
41 self.listaCli.delete(*self.listaCli.get_children())
42 self.conecta_bd()
43 lista = self.cursor.execute("""SELECT cod, nome_cliente, telefone, cidade FROM clientes
44 ORDER BY nome_cliente ASC; """)
45 for i in lista:
46 self.listaCli.insert("", END, values=i)
47 self.desconectar_db()
48 def OnDoubleclick(self, event):
49 self.botao_limpar()
50 self.listaCli.selection()
51
52 for n in self.listaCli.selection():
53 col1, col2, col3, col4 = self.listaCli.item(n, 'values')
54 self.codigo_entry.insert(END, col1)
55 self.nome_entry.insert(END, col2)
56 self.telefone_entry.insert(END, col3)
57 self.cidade_entry.insert(END, col4)
58 def deleta_cliente(self):
59 self.variaveis()
60 self.conecta_bd()
61 self.cursor.execute(""" DELETE FROM clientes WHERE cod = ? """, (self.codigo))
62 self.conn.commit()
63 self.desconectar_db()
64 self.botao_limpar()
65 self.select_lista()
66 def alterar_cliente(self):
67 self.variaveis()
68 self.conecta_bd()
69 self.cursor.execute(""" UPDATE clientes set nome_cliente = ?, telefone = ?, cidade = ?
70 WHERE cod = ?""", (self.nome, self.telefone, self.cidade, self.codigo))
71 self.conn.commit()
72 self.desconectar_db()
73 self.select_lista()
74 self.botao_limpar()
75 def busca_cliente(self):
76 self.conecta_bd()
77 self.listaCli.delete(*self.listaCli.get_children())
78
79 self.nome_entry.insert(END, '%')
80 nome = self.nome_entry.get()
81 self.cursor.execute(
82 """SELECT cod, nome_cliente, telefone, cidade FROM clientes
83 WHERE nome_cliente LIKE '%s' ORDER BY nome_cliente ASC""" % nome)
84 buscanomeCli = self.cursor.fetchall()
85 for i in buscanomeCli:
86 self.listaCli.insert("", END, values=i)
87 self.botao_limpar()
88 self.desconectar_db()