带有包含特殊字符和空格的字符串的MSAccess更新语句

时间:2016-11-26 12:01:59

标签: python sql ms-access pypyodbc

我正在尝试使用Python更新MS Access中的列中的行。我想要更新的字符串是一个Windows文件路径,其中包含特殊字符和空格,如:

C:\Users\Manish\Desktop\Personal\greencindiaphotos25-10-2016\8.2.Patna_west_00001-14335_W\PA11379.jpg

但是,当我运行sql查询进行更新时,会抛出此错误:

  

pypyodbc.ProgrammingError:(u' 42000',u" [42000] [Microsoft] [ODBC Microsoft Access Driver]查询表达式中的语法错误(缺少运算符)' C:\ Users \和Manish \桌面\个人\ greencindiaphotos25-10-2016 \ 8.2.Patna_west_00001-14335_W \ PA11379.jpg'&#34)

这是一个简单的更新查询,如:

UPDATE Vaishali SET Images={file_path} WHERE ID=112312;

如何在访问中更新这样的字符串?

1 个答案:

答案 0 :(得分:0)

您应该使用参数化查询,例如

file_path = r"C:\Users\Manish\Desktop\Personal\greencindiaphotos25-10-2016\8.2.Patna_west_00001-14335_W\PA11379.jpg"
id = 112312
sql = "UPDATE Vaishali SET Images=? WHERE ID=?"
params = (file_path, id)
crsr.execute(sql, params)