Added dropdown menu for dsn

master
Giteadmin 2023-09-10 20:48:18 +02:00
parent abce5d99d1
commit f095fe89c8
1 changed files with 379 additions and 377 deletions

View File

@ -14,7 +14,8 @@ datatype_mappings = {
"Monetary": ['money', 'smallmoney'] "Monetary": ['money', 'smallmoney']
} }
def get_available_dsns():
return list(pyodbc.dataSources().keys())
def connect_and_search(dsn_entry, uid_entry, password_entry, search_entry): def connect_and_search(dsn_entry, uid_entry, password_entry, search_entry):
global continue_search, condition global continue_search, condition
DSN = dsn_entry.get() DSN = dsn_entry.get()
@ -255,6 +256,7 @@ root.title('Search Interface')
# Variables for entry widgets # Variables for entry widgets
dsn_var = tk.StringVar() dsn_var = tk.StringVar()
available_dsns = get_available_dsns()
uid_var = tk.StringVar() uid_var = tk.StringVar()
password_var = tk.StringVar() password_var = tk.StringVar()
search_string_var = tk.StringVar() search_string_var = tk.StringVar()
@ -280,7 +282,7 @@ def update_button_states(*args):
# Labels and Entry widgets for DSN, UID, and password # Labels and Entry widgets for DSN, UID, and password
ttk.Label(root, text="DSN:").grid(row=0, column=0, padx=20, pady=10, sticky='e') ttk.Label(root, text="DSN:").grid(row=0, column=0, padx=20, pady=10, sticky='e')
dsn_entry = ttk.Entry(root, textvariable=dsn_var) dsn_entry = ttk.Combobox(root, textvariable=dsn_var, values=available_dsns, state="readonly")
dsn_entry.grid(row=0, column=1, padx=20, pady=10, sticky='ew') dsn_entry.grid(row=0, column=1, padx=20, pady=10, sticky='ew')
ttk.Label(root, text="UID:").grid(row=1, column=0, padx=20, pady=10, sticky='e') ttk.Label(root, text="UID:").grid(row=1, column=0, padx=20, pady=10, sticky='e')