SQL запрос и python

При попытке заполнить подменю и сделать запрос вылетают следующие ошибки:

Traceback (most recent call last):
  File "D:\Учёба\Python\MyDataBase\main.py", line 69, in <module>
    filemenu.add_command(label=(results[0]),command=records_from_the_database(b[0]))
  File "D:\Учёба\Python\MyDataBase\main.py", line 16, in records_from_the_database
    cursor.execute("""SELECT * FROM (?)""",(name_table, ))
  File "D:\Учёба\Python\MyDataBase\venv\lib\site-packages\pypyodbc.py", line 1617, in execute
    check_success(self, ret)
  File "D:\Учёба\Python\MyDataBase\venv\lib\site-packages\pypyodbc.py", line 1007, in check_success
    ctrl_err(SQL_HANDLE_STMT, ODBC_obj.stmt_h, ret, ODBC_obj.ansi)
  File "D:\Учёба\Python\MyDataBase\venv\lib\site-packages\pypyodbc.py", line 975, in ctrl_err
    raise ProgrammingError(state,err_text)
pypyodbc.ProgrammingError: ('42000', '[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Неправильный синтаксис около конструкции ")".')
# 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=tuple()):
    #получить данные ищ таблицы
        print("SELECT * FROM (?)", (name_table,))
        cursor.execute("""SELECT * FROM (?)""",(name_table, ))

        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)
    #убираю кавычки
    b = []
    for i in results:
        b.append(i[0])
    print(b)
    #заполнение подменю
    filemenu.add_command(label=(results[0]),command=records_from_the_database(b[0]))

    #основное меню

    mainmenu.add_cascade(label="Таблицы", menu=filemenu )
    root.mainloop()

#закрыть бд
    connection.close()

Ответы (0 шт):