有一项工作要求:
MSQSLQuferty1="""INSERT INTO dbo.Users VALUES('namedd188','logindd188','passworddd',0)"""
cursor.execute(MSQSLQuferty1)
但是如果通过变量传递参数,则会发生错误。
name1="ur2241"
login1="login2241"
password1="password2241"
voises1="0"
cursor.execute("INSERT INTO dbo.Users(name,login,password,Voited) VALUES (%s,%s,%s,%s);"%(name1,login1,password1,voises1))
追踪(最近一次呼叫最后一次):
文件“E:/Dropbox/Pyton/Network/Client-Server/Server/SQLConnect.py”, 第33行,在 cursor.execute(“INSERT INTO dbo.Users(name,login,password,Voited)VALUES(%s,%s,%s,%s);”%(name1,login1,password1,voises1))文件 “E:\ Pyton \ LIB \站点包\ pypyodbc-1.3.4-py3.6.egg \ pypyodbc.py” 第1626行,执行文件 “E:\ Pyton \ LIB \站点包\ pypyodbc-1.3.4-py3.6.egg \ pypyodbc.py” 第1652行,在execdirect文件中 “E:\ Pyton \ LIB \站点包\ pypyodbc-1.3.4-py3.6.egg \ pypyodbc.py” 第1007行,在check_success文件中 “E:\ Pyton \ LIB \站点包\ pypyodbc-1.3.4-py3.6.egg \ pypyodbc.py” 第975行,在ctrl_err pypyodbc.ProgrammingError:('42S22','[42S22] [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]Недопустимоеимя столбца“ur2241”。')
答案 0 :(得分:0)
替换
VALUES (%s,%s,%s,%s)
带
VALUES ('%s','%s','%s',%s)