2016-11-26 47 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) 
相關問題