2016-12-01 39 views
1

我很難通過Python使用pyodbc將SQL插入到Access數據庫中。每次嘗試都會引發「無效語法錯誤」。使用Access和pyodbc的INSERT語句中的語法錯誤

import pyodbc 

ney = 'data1' 
soy = 'data2' 

MDBA = 'C:/db/dbBase.mdb'; DRVA = '{Microsoft Access Driver (*.mdb)}'; PWDA = 'pw' 

# connect to db 
cona = pyodbc.connect('DRIVER={};DBQ={};PWD={}'.format(DRVA,MDBA,PWDA)) 
cura = cona.cursor() 
SQL = ("""insert into [db1](col1, col2) values ('ney', 'soy')""") 
#SQL = ("insert into db1(col1, col2values (?, ?)", ney, soy) 

cura.execute(SQL) 
cona.commit() 

我能夠做一個SELECT語句,那麼INSERT的正確語法是什麼?

+0

註釋掉SQL與之前'values'沒有右括號或空間中的語法錯誤。 – Parfait

回答

1

我剛剛將你的代碼複製並粘貼到IDLE中,並沒有爲我引發錯誤。但是,它還將字面值'ney'和'soy'插入到表格中。爲了獲得值的那些你需要使用參數化查詢,像這樣的變量

sql = "insert into [db1] (col1, col2) values (?, ?)" 
params = (ney, soy) # tuple containing parameter values 
cura.execute(sql, params) 
相關問題