Python pypyodbc поиск значения в базе данных Access и выберите поле
Я использую Python pypyodbc для подключения к базе данных Microsoft Access.
Я также могу подключиться к базе данных.
Название таблицы "КОДЫ" и выглядит так:
Field1 Field2
U1A17 High Speed Link
U1A17 Low Speed Link
Теперь значение dt_code = U1A17, которое присутствует в Field1, найдите его в таблице и извлеките 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
Не удалось получить значение.
1 ответ
Решение
Вы проходите 'dt_code'
строка в запросе вместо ее значения. Вам нужно сделать что-то вроде этого:
замещать
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = 'dt_code'")
с
cursor.execute("SELECT Field2 FROM DTC_CODES Where Field1 = ?", (dt_code,))