Подскажите как создать код, который будет выводить определённый пункт из определённой БД в таблицу созданную с помощью Tkinter (Treeview). БД создана на Access. Уже использованные скрипты прилагаю. В некоторых просто не разобрался куда какое название пихать)
На всякий случай, название БД - List, таблиц - Books, Users, подпункты Books - Авторы, Название, ISBN, Издательство, Год выпуска, Кол-во, Остаток; подпункты Users - Фамилия, Имя, Отчество, Год рождения, Класс, Параллель (Приложение создаётся для школы). Заранее спасибо
spoilerimport sqlite3
import tkinter as tk
import tkinter.ttk as ttk
class Table(tk.Frame):
def __init__(self, parent=None, headings=tuple(), rows=tuple()):
super().__init__(parent)
table = ttk.Treeview(self, show="headings", selectmode="browse")
table["columns"] = headings
table["displaycolumns"] = headings
for head in headings:
table.heading(head, text=head, anchor=tk.CENTER)
table.column(head, anchor=tk.CENTER)
for row in rows:
table.insert('', tk.END, values=tuple(row))
scrolltable = tk.Scrollbar(self, command=table.yview)
table.configure(yscrollcommand=scrolltable.set)
scrolltable.pack(side=tk.RIGHT, fill=tk.Y)
table.pack(expand=tk.YES, fill=tk.BOTH)
data = ('Users')
with sqlite3.connect('test.db') as connection:
cursor = connection.cursor()
cursor.execute("SELECT * FROM Users")
data = (row for row in cursor.fetchall())
root = tk.Tk()
table = Table(root, headings=('Фамилия', 'Имя', 'Отчество'), rows=data)
table.pack(expand=tk.YES, fill=tk.BOTH)
root.mainloop()
spoilerimport adodbapi
database = "db1.mdb"
constr = 'Provider=Microsoft.Jet.OLEDB.4.0; Data Source=%s'
tablename = "address"
conn = adodbapi.connect(constr)
cur = conn.cursor()
sql = "select * from %s" % tablename
cur.execute(sql)
result = cur.fetchall()
for item in result:
print item
cur.close()
conn.close()