python - 使用 ""从 Python 执行 SQL

标签 python sql ms-access

由于选择中的“”,我无法从 Python 执行 SQL 语句。我想我已经尝试了所有组合,但无法弄清楚。你能帮帮我吗?

cnxn = pyodbc.connect("DRIVER={Microsoft Access Driver (*.mdb)};DBQ=c:\\python33\salesdb.mdb")
cursor = cnxn.cursor()
v_sql = "SELECT DISTINCT tblSeller.ID, tblSeller.Navn FROM tblResult INNER JOIN tblSeller ON tblResult.SellerID = tblSeller.ID WHERE (((tblSeller.Name)="Robert Smith" ))"
cursor.execute(v_sql)

问题是 SQL 中 Robert Smith 周围的 "。

最佳答案

您可以转义 引号或使用不同的引用样式。例如,这里可以使用单引号。

使用单引号:

v_sql = 'SELECT DISTINCT tblSeller.ID, tblSeller.Navn FROM tblResult INNER JOIN tblSeller ON tblResult.SellerID = tblSeller.ID WHERE (((tblSeller.Name)="Robert Smith" ))'

使用转义:

v_sql = "SELECT DISTINCT tblSeller.ID, tblSeller.Navn FROM tblResult INNER JOIN tblSeller ON tblResult.SellerID = tblSeller.ID WHERE (((tblSeller.Name)=\"Robert Smith\" ))"

或者您可以使用三重引号('''""" 之一);这些允许简单的多行字符串,因为换行符被允许并包含在最终字符串值:

v_sql = """
SELECT DISTINCT tblSeller.ID, tblSeller.Navn 
FROM tblResult INNER JOIN tblSeller ON tblResult.SellerID = tblSeller.ID
WHERE (((tblSeller.Name)=\"Robert Smith\" ))
"""

关于python - 使用 ""从 Python 执行 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20492030/

相关文章:

python - 为什么 TextBlob 不使用/检测否定?

python - 检查 CSV 每行中的列数

python - 古代或 future 观察者的进动、自行和纪元

python - python/sqlite3:sqlite3无法正确处理具有相同名称的多个列

python - SQL Server 透视一列并保留其他列

MS-Access 编译选项

mysql - 具有多个连接的更新语法

php - 使用 MySQL 和 PHP 在多个表中搜索

excel - 变量的变化触发事件

ms-access - 将 Access 97 mdb 升级到 Access 2010 mdb/mde?经验?