由于选择中的“”,我无法从 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/