Python - 替换字符不起作用

时间:2016-06-22 17:03:20

标签: python replace escaping

我正在通过python运行一个脚本,将数据插入数据库。我可以插入几行;但是,如果我尝试插入一个包含单引号的行,则会给出错误:

sName = "Jim O'Connor"

返回错误:

ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''Jim O'Connor')'. (-3100) (SQLExecDirectW)")

我曾尝试使用替换功能,但它从来没有证明我需要它。

sName = sName.replace("'","\'")

返回Jim O'Connor

sName = sName.replace("'","\\'")

返回Jim O\\'Connor

我需要的是Jim O\'Connor

提前致谢!

更新 发表的文章是为了将此标记为重复,但绝不会回答我为什么会收到此错误的问题。这是一个关于参数化的问题(我没有问过)。虽然我理解答案可能是使用参数,但是询问为什么转义的SQL语句不起作用与询问如何参数化完全不同。我将审阅该文章,以确定使用参数是否解决了问题。

0 个答案:

没有答案