Hi guys, I am a beginner however I achieved a good result taking information from my servers and passing to a tkinter form. Now I ma trying to choosing dynamically my servers but I am messing up with Pyodbc and Tkinter in order to take a variable and to pass it to the pyodbc.connect.
Any advice?
Any advice?
import pandas
from tkinter import *
from tkinter import ttk
import pyodbc
from tkinter import messagebox
master = Tk()
master.geometry("800x800")
master.configure(background='#3c485f')
#from
#var = StringVar(master)
#var.set("Choose Server") # default value
#tenda = OptionMenu(master, var, "Server=CGL-SC01-DSTAGE\DSTAGE", "Server=CGL-SC01-DWAREH\DWAREH", "three")
#tenda.pack()
#to
s = StringVar()
s.set('a')
om = OptionMenu(master, s, 'a', 'b', 'c', 'd')
om.pack()
def changed(*args):
print(s.get())
s.trace('w', changed)
w = Label(master, text="Database Tables Size Control", width=800, height=4, bg="Yellow", font=("Courier", 14, "bold"))
w.pack()
w2 = Label(master, text="", width=800, height=1, bg="White")
w2.pack()
tree = ttk.Treeview(master)
tree["columns"]=("one","two","three","four","five","six")
tree.column("one", width=100)
tree.column("two", width=100)
tree.column("three", width=100 )
tree.column("four", width=100)
tree.column("five", width=100 )
tree.column("six", width=100 )
tree.heading("one", text="DataBaseName")
tree.heading("two", text="FileGroup")
tree.heading("three", text="File Size")
tree.heading("four", text="Used Space")
tree.heading("five", text="Free Space")
tree.heading("six", text="Free Space %")
cnxn = pyodbc.connect("Driver={SQL Server Native Client 11.0};"
changed()";"
"Database=master;"
"Trusted_Connection=yes;")
sql = """
Exec ReadSize
"""
df = pandas.io.sql.read_sql(sql, cnxn)
df.style.set_table_styles([ dict(selector='th', props=[('text-align', 'right')] ) ])
df.head(0)
for index, row in df.iterrows():
if row["FreeSpace %"] > 5:
tree.insert("", 0, text="Normal", values=(row["DatabaseName"],row["FileGroupName"],row["FileSize"], row["UsedSpace"],row["FreeSpace"], row["FreeSpace %"]), tags=('oddrow',))
else:
tree.insert("", 0, text="Warning", values=(row["DatabaseName"], row["FileGroupName"], row["FileSize"], row["UsedSpace"], row["FreeSpace"], row["FreeSpace %"]),tags=('evenrow',))
tree.pack(expand=True, fill='y')
print(df)
tree.tag_configure('oddrow', background='white')
tree.tag_configure('evenrow', background='#fe8b62')
#tree.insert("", 0, text="Line 1", values=(df))
tree.pack()
def callback():
df.to_csv('//My Documents/TestPython/Prova.csv')
messagebox.showinfo("Information", "CSV Downloaded")
b = Button(master, text="CSV", command=callback)
b.pack()
master.mainloop()
