简体   繁体   English

pyodbc中's'附近的语法不正确

[英]Incorrect syntax near 's' in pyodbc

Sometimes I get this error randomly when I try to insert data in to the database. 有时,当我尝试将数据插入数据库时​​会随机出现此错误。 I fetch the data with using request.get and parsing the JSON data. 我使用request.get提取数据并解析JSON数据。

This is the error that I get: 这是我得到的错误:

pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near 's'. (102) (SQLExecDirectW); [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Unclosed quotation mark after the character string ')'. (105)") pyodbc.ProgrammingError :(“ 42000”,“ [42000] [Microsoft] [用于SQL Server的ODBC驱动程序17] [SQL Server]“ s”附近的语法不正确。(102)(SQLExecDirectW); [42000] [Microsoft] [ODBC [SQL Server]驱动程序17 [SQL Server]字符串')'后的引号引起来。(105)“)

This is my code: 这是我的代码:

for product in parsed['products']:
                cursor.execute("INSERT INTO dbo.producten (productid, datum_toegevoegd, naam, prijs_excl, prijs_incl, gewicht) VALUES ('%s','%s','%s','%s','%s','%s')" %(product['id'],product['created_at'], product['nl']['title'],product['price_excl'],product['price_incl'],product['weight']))

You must not use string interpolation for SQL queries. 不得对SQL查询使用字符串插值。 The db-api will do correct parameter substitution for you - replace that % with a comma. db-api将为您执行正确的参数替换-用逗号替换该%

cursor.execute('SELECT.... ', (product['id'],product['created_at'...))
#                           ^
cursor.execute('SELECT.... product = ?', (value_for_product)) 

适用于python 3. ^

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 pyodbc '-' 附近的语法不正确。 (102) - pyodbc Incorrect syntax near '-'. (102) pyodbc.ProgrammingError: ('42000', "[42000] [FreeTDS][SQL Server]';' 附近语法不正确。\n (102) (SQLExecDirectW)" - pyodbc.ProgrammingError: ('42000', "[42000] [FreeTDS][SQL Server]Incorrect syntax near ';'.\n (102) (SQLExecDirectW)") pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL 服务器驱动程序][SQL Server]附近语法不正确 - pyodbc.ProgrammingError: ('42000', "[42000] [Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near 通过Python的MS SQL pyodbc:为什么一直说语法不正确? - MS SQL via Python pyodbc: why keep saying there's incorrect syntax? Python 2.7 MSSQL 语法错误接近订单 - Python 2.7 MSSQL Incorrect Syntax near Order pypyodbc:OPENJSON关键字“WITH”附近的语法不正确 - pypyodbc: OPENJSON incorrect syntax near keyword “WITH” SQL 服务器:关键字“FROM”附近的语法不正确 - SQL Server : incorrect syntax near the keyword 'FROM' to_sql pyodbc 计数字段不正确或语法错误 - to_sql pyodbc count field incorrect or syntax error 通过 python 脚本的 SQL 的语法(',' 附近的语法不正确) - Syntax for SQL via python script (Incorrect syntax near ',') (42000,[42000] [Microsoft][ODBC Driver 17 for SQL 服务器][SQL Server] s. (102) (SQLExecDirectW) 附近的语法不正确) - (42000, [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Incorrect syntax near s. (102) (SQLExecDirectW))
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM