我试图使用以下代码将数据插入sql server表,
import pyodbc
user='sa'
password='PC#1234'
database='climate'
port='1433'
TDS_Version='8.0'
server='192.168.1.103'
driver='FreeTDS'
con_string='UID=%s;PWD=%s;DATABASE=%s;PORT=%s;TDS=%s;SERVER=%s;driver=%s' % (user,password, database,port,TDS_Version,server,driver)
cnxn=pyodbc.connect(con_string)
cursor=cnxn.cursor()
cursor.execute("INSERT INTO mytable(name,address) VALUES (%s,%s)",('thavasi','mumbai'))
cnxn.commit()
Run Code Online (Sandbox Code Playgroud)
它在执行时给我以下错误,
Traceback (most recent call last):
File "sql.py", line 26, in <module>
cursor.execute("INSERT INTO mytable(name,address) VALUES (%s,%s)",('thavasi','mumbai'))
pyodbc.ProgrammingError: ('The SQL contains 0 parameter markers, but 2 parameters were supplied', 'HY000')
Run Code Online (Sandbox Code Playgroud)
我已经检查了insert语句的语法是否正确.那么是什么导致了这个错误
cursor.execute("INSERT INTO mytable(name,address) VALUES (?,?)",('thavasi','mumbai'))
Run Code Online (Sandbox Code Playgroud)
使用?而不是%在pyodbc模块中
小智 5
这对我有用。
cursor.execute("INSERT INTO tablename(field1,field2) VALUES(?,?) ", (data1,data2))
Run Code Online (Sandbox Code Playgroud)
itz*_*nTV -1
string这里完成的格式化是错误的。尝试这个
cursor.execute("INSERT INTO mytable(name,address) VALUES (%s,%s)" %('thavasi','mumbai'))
Run Code Online (Sandbox Code Playgroud)
查看http://www.diveintopython.net/native_data_types/formatting_strings.html
| 归档时间: |
|
| 查看次数: |
24460 次 |
| 最近记录: |