Python-Microsoft SQL将变量插入表中

时间:2017-07-25 13:40:25

标签: sql-server python-3.x

有一项工作要求:

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”。')

1 个答案:

答案 0 :(得分:0)

替换

VALUES (%s,%s,%s,%s)

VALUES ('%s','%s','%s',%s)