2011-04-10 60 views
1

即時得到這個錯誤:sqlite3的 '插入' 的錯誤

cursor.execute( 'INSERT INTO課程(標題)VALUES()?',(標題))
sqlite3.ProgrammingError:提供綁定的不正確的數。當前語句使用1,並提供了11。

這裏是我的代碼:

try: 
    cursor.execute("""CREATE TABLE COURSE 
       (course_id INTEGER PRIMARY KEY, 
        title TEXT)""") 

except sql.OperationalError, msg: 
    print msg 

.....

def add_course(title): 
    try: 
    cursor.execute('''INSERT INTO COURSE (title) VALUES (?)''',(title))  
    except sql.OperationalError, msg: 
    print msg, 

.....

add_course('Calculus II') 

它接縫,如果它計算每個字符作爲值,但我不明白爲什麼..我有很多表,他們正確處理字符串(TEXT)類型。我其他表格中唯一的區別是它們具有多個值。

+0

sql引用sqlite3 ..我做「導入sqlite3爲sql」 – Alex 2011-04-10 04:49:23

+0

我想數據類型是作爲字符數組傳遞的。 – 2011-04-10 04:55:06

回答

2

嘗試傳遞一個元組:

cursor.execute('''INSERT INTO COURSE (title) VALUES (?)''',(title,)) 

它遍歷稱號。

+0

這工作!謝謝!!我一直在這幾個小時殺死自己 – Alex 2011-04-10 04:59:20

+0

啊恭喜! :) – 2011-04-10 05:05:44