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,))
Другие вопросы по тегам