MCPcopy Create free account
hub / github.com/CL-lau/SQL-GPT / DatabaseManagerGUI

Class DatabaseManagerGUI

front/DatabaseManagerGUI.py:7–70  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

5
6
7class DatabaseManagerGUI:
8 def __init__(self, root):
9 self.root = root
10 self.root.title("数据库管理工具")
11
12 self.db_urls = {
13 "database1": "sqlite:///database1.db",
14 "database2": "sqlite:///database2.db"
15 }
16
17 self.db_manager = DatabaseManager(self.db_urls)
18
19 self.db_select_label = tk.Label(self.root, text="选择数据库:")
20 self.db_select_label.pack()
21
22 self.db_combo = ttk.Combobox(self.root, values=list(self.db_urls.keys()))
23 self.db_combo.pack()
24
25 self.table_label = tk.Label(self.root, text="表格:")
26 self.table_label.pack()
27
28 self.table_listbox = tk.Listbox(self.root)
29 self.table_listbox.pack()
30
31 self.column_label = tk.Label(self.root, text="列名:")
32 self.column_label.pack()
33
34 self.column_listbox = tk.Listbox(self.root)
35 self.column_listbox.pack()
36
37 self.query_label = tk.Label(self.root, text="SQL 查询:")
38 self.query_label.pack()
39
40 self.query_text = tk.Text(self.root, height=5, width=50)
41 self.query_text.pack()
42
43 self.execute_button = tk.Button(self.root, text="执行查询", command=self.execute_query)
44 self.execute_button.pack()
45
46 self.root.mainloop()
47
48 def update_table_list(self):
49 self.table_listbox.delete(0, tk.END)
50 tables = self.db_manager.get_table_list(self.db_combo.get())
51 for table in tables:
52 self.table_listbox.insert(tk.END, table)
53
54 def update_column_list(self):
55 self.column_listbox.delete(0, tk.END)
56 selected_table = self.table_listbox.get(tk.ACTIVE)
57 columns = self.db_manager.get_column_list(self.db_combo.get(), selected_table)
58 for column in columns:
59 self.column_listbox.insert(tk.END, column)
60
61 def execute_query(self):
62 selected_db = self.db_combo.get()
63 query = self.query_text.get("1.0", tk.END).strip()
64

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected