SQL запрос в Python
Помогите. Как передать в функцию
def records_from_the_database(name_table), чтобы потом можно было сделать запрос? Код ниже. Сейчас выдает ошибку, если пытаюсь сделать SQL запрос
# 192.168.56.1
#DESKTOP-NBL8O8E
import pypyodbc
import tkinter as tk
import tkinter.ttk as ttk
from table import Table
from tkinter import *
#получить данные из таблицы
def records_from_the_database(name_table):
#получить данные ищ таблицы
mySQLQuery=( """SELECT * FROM """ + str(name_table))
cursor.execute(mySQLQuery)
results = cursor.fetchall()
for item in range(len(results)):
results[item]=str(results[item])
results[item]=" ".join(results[item].split())
results[item]=str(results[item])
new_arr = [i[1:-2].split(", ") for i in results]
for i in new_arr:
table = Table(root, ('aaa', 'bbb', 'ccc', 'ss'), rows=(new_arr))
table.pack(expand=tk.YES, fill=tk.BOTH)
def name_table():
# получить названия таблиц
mySQLQuery = ("SELECT TABLE_NAME FROM information_schema.tables")
cursor.execute(mySQLQuery)
results = cursor.fetchall()
arr = list(results)
arr.pop(len(arr) - 1)
return arr
if __name__ == '__main__':
#подключение БД
connection = pypyodbc.connect("Driver={SQL Server};"
"Server=DESKTOP-NBL8O8E;"
"Database=БТИ;")
#включаем курсоо
cursor = connection.cursor()
root = tk.Tk()
#верхнее меню
mainmenu = Menu(root)
root.config(menu=mainmenu)
filemenu = Menu(mainmenu, tearoff=0)
results = name_table()
print(results)
#заполнение подменю
for i in range(len(results)):
filemenu.add_command(label=(results[i]),command=records_from_the_database((results[i])))
#основное меню
mainmenu.add_cascade(label="Таблицы", menu=filemenu )
root.mainloop()
#закрыть бд
connection.close()