Pyodbc 查询字符串引号转义
Posted
技术标签:
【中文标题】Pyodbc 查询字符串引号转义【英文标题】:Pyodbc query string quote escaping 【发布时间】:2013-06-12 22:23:12 【问题描述】:我正在尝试使用带有这种代码的 pyodbc 执行查询
cursor.execute("SELECT x from y where Name='%s'"%namepar)
参数可能有引号,因此需要对其进行转义才能工作,我该怎么做?我尝试在 namepar 中简单地将“'”替换为“\\'”,但它仍然不起作用,我得到一个 pyodbc.ProgrammingError
【问题讨论】:
【参考方案1】:您也可以尝试在其周围加上一组额外的引号。它适用于我的用例。
cursor.execute("SELECT x from y where Name=''%s''" % namepar)
【讨论】:
【参考方案2】:你可以传递参数,那将被转义。
cursor.execute("SELECT x from y where Name = ?", (namepar,))
http://www.python.org/dev/peps/pep-0249/#id15
http://code.google.com/p/pyodbc/wiki/Cursor
【讨论】:
以上是关于Pyodbc 查询字符串引号转义的主要内容,如果未能解决你的问题,请参考以下文章