sql server+python
При заполнении базы данных выдает ошибку:
Traceback (most recent call last):
File "D:/Учёба/Python/SQL_Server/SQL.py", line 64, in <module>
cursor.execute(mySQLQuery)
File "D:\Учёба\Python\SQL_Server\venv\lib\site-packages\pypyodbc.py", line 1626, in execute
self.execdirect(query_string)
File "D:\Учёба\Python\SQL_Server\venv\lib\site-packages\pypyodbc.py", line 1652, in execdirect
check_success(self, ret)
File "D:\Учёба\Python\SQL_Server\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\SQL_Server\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]Неправильный синтаксис около конструкции "(".')
Помогите ее исправить Код программы:
import pypyodbc
connection=pypyodbc.connect("Driver={SQL Server};"
"Server=DESKTOP-NBL8O8E;"
"Database=study;")
k=1
cursor = connection.cursor()
while k!=0:
print("1-Добавить запись в БД")
print("2-Получить данные из таблицы")
print("3-Получить все таблицы в бд")
k=int(input("Ввод:"))
#добавить запись в бд
if k==1:
#получаем названия столбцов в таблице
mySQLQuery = (
"""
SELECT COLUMN_NAME FROM
study.INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Students'
""")
cursor.execute(mySQLQuery)
results = cursor.fetchall()
#print(results)
#количество столбцов в таблице
count=(len(results))
records=["" for x in range(count)]
records_join = ''
results_join = ''
#ввод данных для таблицы+склеивание
for counts in range(len(results)):
print(results[counts])
records[counts] = input()
if counts == (len(results) - 1):
records_join = str(records_join) + "" + str(records[counts]) + ""
results_join = str(results_join) + "" + str(results[counts]) + ""
else:
records_join=str(records_join)+ ""+str(records[counts])+","
results_join=str(results_join)+str(results[counts])+','
a=''.join(results_join)
b=''.join(records_join)
print(records_join)
print(results_join)
# добавить запись в бд
#INSERT INTO countries (country_name, acronym_name) VALUES ('Russia', 'RU')
mySQLQuery ="insert into dbo.Students(" +a +") values+ ("+b +")"
cursor.execute(mySQLQuery)
# cursor.execute(mySQLQuery)
#дать согласие на выполнение команды
connection.commit();