Repository navigation
Expand file tree
/
Copy pathSearchForUsers.py
More file actions
121 lines (77 loc) · 2.45 KB
/
Copy pathSearchForUsers.py
File metadata and controls
121 lines (77 loc) · 2.45 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
from db import get_connection
import sqlite3
def mostrar(resultado):
if not resultado:
print("\nNo records found.")
return
print("\n{:<3} {:<12} {:<15} {:<5} {:<10}".format(
"ID", "Name", "Surname", "Age", "Status"))
print("-" * 55)
for linha in resultado:
print("{:<3} {:<12} {:<15} {:<5} {:<10}".format(*linha))
# Verifica a conexão
try:
conn = get_connection()
cursor = conn.cursor()
cursor.execute("SELECT COUNT(*) FROM users")
total = cursor.fetchone()[0]
print(f"\nDatabase connected successfully.")
print(f"Total users: {total}")
conn.close()
except sqlite3.Error as erro:
print(f"Database Error: {erro}")
exit()
while True:
print("\n========== USER DATABASE ==========")
print("1 - Search by Name")
print("2 - Search by Surname")
print("3 - Search by Age")
print("4 - Search by Status")
print("5 - Show All Users")
print("0 - Exit")
opcao = input("\nChoose an option: ").strip()
try:
conn = get_connection()
cursor = conn.cursor()
if opcao == "1":
nome = input("Name: ").strip()
cursor.execute(
"SELECT * FROM users WHERE nome LIKE ?",
(f"%{nome}%",)
)
mostrar(cursor.fetchall())
elif opcao == "2":
sobrenome = input("Surname: ").strip()
cursor.execute(
"SELECT * FROM users WHERE sobrenome LIKE ?",
(f"%{sobrenome}%",)
)
mostrar(cursor.fetchall())
elif opcao == "3":
idade = input("Age: ").strip()
cursor.execute(
"SELECT * FROM users WHERE idade = ?",
(idade,)
)
mostrar(cursor.fetchall())
elif opcao == "4":
status = input("Status (Active/Unactive): ").strip().capitalize()
cursor.execute(
"SELECT * FROM users WHERE status = ?",
(status,)
)
mostrar(cursor.fetchall())
elif opcao == "5":
cursor.execute(
"SELECT * FROM users ORDER BY nome"
)
mostrar(cursor.fetchall())
elif opcao == "0":
print("\nGoodbye!")
break
else:
print("\nInvalid option.")
except sqlite3.Error as erro:
print(f"\nSQLite Error: {erro}")
finally:
conn.close()