В приложении, которое я создаю, я хочу, чтобы у меня была страница, где пользователи могли видеть детали записей полей, которые они сделали, на главной странице пользовательского интерфейса, с которой они взаимодействуют. Все отправленные и внутренние данные хранятся в базе данных SQL Server. Я был в состоянии сделать запрос к базе данных и отобразить записи в первой строке древовидной структуры, но я, когда я использую cur.fetchone () [0], он повторяет только первую строку в таблице, и если я делаю fetchall ( ) или один из примеров def, показанных ниже, возвращает все строки в виде кортежа в первой строке. Я довольно новичок в python и tkinter, поэтому заранее извиняюсь, если это плохой вопрос.
from tkinter import *
from tkinter import ttk
import pyodbc
import backend
#This def is from backend.py
def clientnameelected():
cur = conn.cursor()
cur.execute("SELECT [ClientName] FROM Timesheet_Entries")
data = []
for client_list in cur.fetchall():
data.append(client_list[0])
return data
root = Tk()
root.geometry("500x500")
tree = ttk.Treeview(root)
global conn
tree["columns"] = ("PayPeriod", "Date", "ClientName", "Notes", "Hours", "Status")
tree.column("#0", width = 50)
tree.column("PayPeriod", width = 175)
tree.column("Date", width = 100)
tree.column("ClientName", width = 350)
tree.column("Notes", width = 500)
tree.column("Hours", width = 50)
tree.column("Status", width = 75)
tree.heading("#0", text = "EntryID")
tree.heading("PayPeriod", text = "PayPeriod")
tree.heading("Date", text = "Date")
tree.heading("ClientName", text = "ClientName")
tree.heading("Notes", text = "Notes")
tree.heading("Hours", text = "Hours")
tree.heading("Status", text = "Status")
for i in range(1, 15):
cur = conn.cursor()
#cur.execute("SELECT [EntryID] FROM Timesheet_Entries")
#entryidcolumn = cur.fetchall()[0]
#cur.execute("SELECT [PayPeriod] FROM Timesheet_Entries")
payperiodcolumn = backend.payperiodselected()
workdatecolumn = backend.workdateselected()
clientnamecolumn = backend.clientnameelected()
notescolumn = backend.notesentered()
hoursworkedcolumn = backend.hoursentered()
statuscolumn = backend.currentstatus()
#cur.execute("SELECT [WorkDate] FROM Timesheet_Entries")
#workdatecolumn = cur.fetchone()[0]
#vot = cursor.fetchone()
#cur.execute("SELECT [ClientName] FROM Timesheet_Entries")
#clientnamecolumn = cur.fetchone()[0]
#cur.execute("SELECT [Notes] FROM Timesheet_Entries")
#notescolumn = cur.fetchone()[0]
#cur.execute("SELECT [HoursWorked] FROM Timesheet_Entries")
#hoursworkedcolumn = cur.fetchone()[0]
#cur.execute("SELECT [Status] FROM Timesheet_Entries")
#statuscolumn = cur.fetchone()[0]
#tree.insert("", i, text=i, values=(entryidcolumn, payperiodcolumn, workdatecolumn, clientnamecolumn, notescolumn, hoursworkedcolumn, statuscolumn)),
tree.insert("", i, text = i, values=(payperiodcolumn, workdatecolumn, clientnamecolumn, notescolumn, hoursworkedcolumn, statuscolumn)),
tree.pack()
root.mainloop()