带有包含特殊字符和空格的字符串的 MSAccess 更新语句
Posted
技术标签:
【中文标题】带有包含特殊字符和空格的字符串的 MSAccess 更新语句【英文标题】:MSAccess update statement with string containing special characters and spaces 【发布时间】:2016-11-26 12:01:58 【问题描述】:我正在尝试使用 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\Desktop\Personal\greencindiaphotos25-中的语法错误(缺少运算符) 10-2016\8.2.Patna_west_00001-14335_W\PA11379.jpg'.")
这是一个简单的更新查询,例如:
UPDATE Vaishali SET Images=file_path WHERE ID=112312;
如何在access中更新这样的字符串?
【问题讨论】:
【参考方案1】:您应该使用参数化查询,例如
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)
【讨论】:
以上是关于带有包含特殊字符和空格的字符串的 MSAccess 更新语句的主要内容,如果未能解决你的问题,请参考以下文章
当列名包含空格和特殊字符时从 data.table 包中读取?
JavaMail:“域包含字符串中的控件或空格”错误消息,因为域包含丹麦字符