2016-11-26 24 views
0

Pythonを使用してMS Accessの列の行を更新しようとしています。私は更新するSQLクエリを実行すると、それはこのエラーがスローされます。しかし、MSAccess特殊文字と空白を含む文字列での更新文

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

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'.")

それはだ、私は更新したい文字列には、などの特殊文字やスペースが含まれているWindowsのファイル・パスです

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) 
関連する問題