Python Access 数据库中的 pypyodbc 搜索值和 select 字段
Python pypyodbc search value in Access database and select the field
我正在使用 Python pypyodbc 连接到 Microsoft Access 数据库。
我也可以连接到数据库。
Table 名字是 "CODES" 看起来像这样 :
Field1 Field2
U1A17 High Speed Link
U1A17 Low Speed Link
现在dt_code的值=U1A17,存在于Field1中,在table中搜索并分别获取field2
dtc_code = dtc_designator + dtc_designator1 + dtc_designator2 + DTCLogged[loopindex+1]
print dtc_code
connection = pypyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;SafeTransactions=0;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\PYTHON27;DBQ=C:\PYTHON27\iso14229dtcs.mdb;')
cursor = connection.cursor()
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = 'dt_code'")
for row in cursor.fetchall():
print row
无法获取值。
您正在查询中传递 'dt_code'
字符串而不是它的值。你需要做这样的事情:
替换
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = 'dt_code'")
和
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = ?", (dt_code,))
我正在使用 Python pypyodbc 连接到 Microsoft Access 数据库。
我也可以连接到数据库。
Table 名字是 "CODES" 看起来像这样 :
Field1 Field2
U1A17 High Speed Link
U1A17 Low Speed Link
现在dt_code的值=U1A17,存在于Field1中,在table中搜索并分别获取field2
dtc_code = dtc_designator + dtc_designator1 + dtc_designator2 + DTCLogged[loopindex+1]
print dtc_code
connection = pypyodbc.connect('DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;SafeTransactions=0;MaxScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\PYTHON27;DBQ=C:\PYTHON27\iso14229dtcs.mdb;')
cursor = connection.cursor()
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = 'dt_code'")
for row in cursor.fetchall():
print row
无法获取值。
您正在查询中传递 'dt_code'
字符串而不是它的值。你需要做这样的事情:
替换
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = 'dt_code'")
和
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = ?", (dt_code,))