· 7 years ago · Oct 05, 2018, 10:40 PM
1from sqlite3 import *
2from time import *
3from os import *
4#CRIADO POR RAFAEL
5class ErrorInsert(Exception):
6 def __str__(self):
7 return """\n\033[31;1mErro ao inserir informações na tabela, Tente novamente!!!
8Prováveis causa do erro: Verifique se você não esta utilizando um Nome já existente no Banco de dados,
9então tente cadastrar novamente com um nome diferente\033[m"""
10local = 'Sqlite/'
11conexao = connect(local+'usuarios.db') #CRIA O BANCO DE DADOS
12query = conexao.cursor() #MANIPULA OS DADOS DA TABELA
13"""
14def create():
15 query.execute("CREATE TABLE IF NOT EXISTS usuarios (id int not null primary key autoincrement, nome varchar(30) not null unique, email varchar(30) not null, senha int not null)")
16try:
17 create()
18except:
19 raise ErrorCreate()
20else:
21 print('Criado com sucesso')
22"""
23
24system('clear')
25while True:
26 print(f'\033[37;1m{"CRUD COM PYTHON3 E SQLITE3":^50}\033[m')
27 print('__'*25)
28 escolha = int(input("""\033[37;1m[ 1 ] Registrar Cliente
29[ 2 ] Visualizar Clientes
30[ 3 ] Editar Cliente
31[ 4 ] Excluir Cliente
32[ 5 ] Pesquisar
33[ 6 ] Sair\nSua Opção é: \033[m"""))
34 if escolha == 1:
35 system('clear')
36 print('\033[37;1mCarregando...\033[m')
37 sleep(2)
38 system('clear')
39 #INSERE OS DADOS NA TABELA
40 print(f'\033[37;1m{"CADASTRAR CLIENTE":^50}\033[m')
41 print('__'*25)
42 nome = str(input('\033[37;1mNome: '))
43 email = str(input('Email: '))
44 while True:
45 try:
46 senha = int(input('\033[37;1mSenha: \033[m'))
47 except:
48 print('\n\033[31;1mInsira somente números!!!\033[m')
49 else:
50 break
51 try:
52 query.execute(f"INSERT INTO usuarios (nome, email, senha) VALUES ('{nome}', '{email}', '{senha}')")
53 conexao.commit()
54 system('clear')
55 print('\033[34;1mInserindo...\033[m')
56 sleep(4)
57 system('clear')
58 except:
59 raise ErrorInsert
60 else:
61 print('\033[34;1mInserido com sucesso\033[m')
62 sleep(2)
63 system('clear')
64
65 elif escolha == 2:
66 #VISUALIZA OS DADOS DA TABELA
67 def view():
68 sql = "SELECT * FROM usuarios"
69 for linha in query.execute(sql):
70 print(f'\033[32;1m>>> ID:{linha[0]}, Nome:{linha[1]}, Email:{linha[2]}, Senha:{linha[3]}\033[m')
71 print('__'*25)
72 system('clear')
73 print('Buscando registros...\n')
74 sleep(4)
75 system('clear')
76 print(f'\033[37;1m{"VISUALIZAR REGISTROS":^50}\033[m')
77 num_rows = "SELECT COUNT(*) FROM usuarios"
78 for linha in query.execute(num_rows):
79 print(f'\033[37;1m{linha[0]} registros encontrados\033[m')
80 print('__'*25)
81 view()
82 sleep(4)
83
84 elif escolha == 3:
85 #TRAZ UMA ÚNICA INFORMAÇÃO PARA SER ATUALIZADO
86 system('clear')
87 print('Carregando...')
88 sleep(3)
89 system('clear')
90 print(f'\033[36;1m{"EDITAR REGISTROS":^50}\033[m')
91 print('__'*25)
92 sql = "SELECT * FROM usuarios"
93 for linha in query.execute(sql):
94 print(f'\033[32;1m>>> ID:{linha[0]}, Nome:{linha[1]}, Email:{linha[2]}, Senha:{linha[3]}\033[m')
95 print('__'*25)
96 #SELECIONA O ID A SER MODIFICADO
97 Id_usuario = int(input('Digite o id do usuário a ser editado: '))
98 system('clear')
99 print(f'Carregando dados do usuário {Id_usuario}...')
100 sleep(2)
101 system('clear')
102 sql = f"SELECT * FROM usuarios WHERE id = {Id_usuario}"
103 for linha in query.execute(sql):
104 print(f'\033[36;1m{"EDITAR REGISTROS":^50}\033[m')
105 print('__'*25)
106 print(f'\033[32;1m>>> ID:{linha[0]}, Nome:{linha[1]}, Email:{linha[2]}, Senha:{linha[3]}\033[m')
107 print('__'*25)
108 while Id_usuario != linha[0]:
109 system('clear')
110 print(f'Parece que o usuário {Id_usuario} não existe')
111 sleep(2)
112 system('clear')
113 Id_usuario = int(input('Digite o id do usuário a ser editado: '))
114 system('clear')
115 print(f'Carregando dados do usuário {Id_usuario}')
116 sleep(2)
117
118 novo_nome = str(input('Novo nome: '))
119 novo_email = str(input('Novo Email: '))
120 while True:
121 try:
122 nova_senha = int(input('Nova senha: '))
123 except:
124 print('\n\033[31;1mInsira somente números!!!\033[m')
125 else:
126 break
127 edit = str(input('Deseja realmente editar este usuário? [S/N] ')).upper()[0]
128 if edit in 'Ss':
129 try:
130 query.execute(f"UPDATE usuarios set nome = ?, email = ?, senha = ? WHERE id = ?", (novo_nome, novo_email, nova_senha, Id_usuario))
131 conexao.commit()
132 system('clear')
133 print('Alterando, aguarde...')
134 sleep(3)
135 system('clear')
136 except:
137 print('\033[31;1mErro ao atualizar os dados\033[m')
138 else:
139 print('\033[34;1mDados Atualizados com sucesso\033[m')
140 sleep(2)
141 system('clear')
142 else:
143 system('clear')
144 print('Operação cancelada...')
145 sleep(2)
146 system('clear')
147
148 elif escolha == 4:
149 #TRAZ AS INFORMAÇÕES A SER DELETADA
150 system('clear')
151 print('Carregando...')
152 sleep(3)
153 system('clear')
154 print(f'\033[36;1m{"DELETAR REGISTROS":^50}\033[m')
155 print('__'*25)
156 sql = "SELECT * FROM usuarios"
157 for linha in query.execute(sql):
158 print(f'\033[32;1m>>> ID:{linha[0]}, Nome:{linha[1]}, Email:{linha[2]}, Senha:{linha[3]}\033[m')
159 print('__'*25)
160 #SELECIONA O ID A SER DELETADO
161 Id_usuario = int(input('Digite a id do usuário que você quer deletar '))
162 system('clear')
163 print(f'Carregando dados do usuário {Id_usuario}...')
164 sleep(2)
165 system('clear')
166 sql = f"SELECT * FROM usuarios WHERE id = {Id_usuario}"
167 for linha in query.execute(sql):
168 print(f'\033[36;1m{"DELETAR REGISTROS":^50}\033[m')
169 print('__'*25)
170 print(f'\033[32;1m>>> ID:{linha[0]}, Nome:{linha[1]}, Email:{linha[2]}, Senha:{linha[3]}\033[m')
171 print('__'*25)
172 while Id_usuario != linha[0]:
173 system('clear')
174 print(f'Parece que o usuário {Id_usuario} não existe')
175 sleep(2)
176 system('clear')
177 Id_usuario = int(input('Digite o id do usuário a ser deletado: '))
178 system('clear')
179 print(f'Carregando dados do usuário {Id_usuario}')
180 sleep(2)
181 delet = str(input('Deseja relamente deletar este usuário? [S/N] ')).upper()[0]
182 if delet in 'Ss':
183 try:
184 system('clear')
185 query.execute("DELETE FROM usuarios WHERE id = ?",(Id_usuario,))
186 conexao.commit()
187 print('\033[31;1mDeletando...\033[m')
188 sleep(3)
189 system('clear')
190 except:
191 print('\033[31;1mErro ao deletar o usuário\033[m')
192 else:
193 print('\033[34;1mUsuário deletado com sucesso\033[m')
194 sleep(2)
195 system('clear')
196 else:
197 system('clear')
198 print('Operação cancelada...')
199 sleep(2)
200 system('clear')
201
202 #PESQUISAR USUÃRIO
203 elif escolha == 5:
204 system('clear')
205 print('Carregando...')
206 sleep(2)
207 system('clear')
208 print(f'\033[37;1m{"BUSCAR USUÃRIO":^50}\033[m')
209 print('__'*25)
210 pesquisa = str(input('Pesquise pelo nome do usuário: '))
211 sql = f"SELECT * FROM usuarios WHERE nome LIKE '%{pesquisa}%'"
212 system('clear')
213 print(f'Buscando por {pesquisa}...')
214 sleep(3)
215 system('clear')
216 num_rows = f"SELECT count(*) FROM usuarios WHERE nome LIKE '%{pesquisa}%'"
217 print(f'\033[37;1m{"BUSCAR USUÃRIO":^50}\033[m')
218 print('__'*25)
219 for linha in query.execute(num_rows):
220 print(f'\033[37;1m{linha[0]} usuários correspondem a sua pesquisa\033[m')
221 print('__'*25)
222 for linha in query.execute(sql):
223 print(f'\033[32;1m>>> ID:{linha[0]}, Nome:{linha[1]}, Email:{linha[2]}, Senha:{linha[3]}\033[m')
224 print('__'*25)
225 sleep(4)
226
227 elif escolha >=7 or escolha <= 0:
228 system('clear')
229 print('Carregando...')
230 sleep(0.4)
231 system('clear')
232 print(f'Não existe uma opção {escolha}')
233 sleep(2)
234 system('clear')
235 else:
236 print('Encerrando o programa...')
237 conexao.close()
238 sleep(4)
239 break
240print(f'\033[36;m{"<<<< VOLTE SEMPRE >>>>":^50}\033[m')