2016-11-26 48 views
0

我正尝试使用Python更新MS Access中的列中的行。我想更新的字符串是包含特殊字符和空格像Windows文件路径:包含特殊字符和空格的字符串的MSAccess更新语句

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] Syntax error (missing operator) in query expression 'C:\Users\Manish\Desktop\Personal\greencindiaphotos25-10-2016\8.2.Patna_west_00001-14335_W\PA11379.jpg'.")

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

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

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

回答

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) 
相关问题