2013-07-13 59 views
0

我做了一個簡單的for循環程序,它從用戶處獲取信息並在sqlite中更新數據庫。但是,我的程序不更新數據庫,它只是明顯地忽略它。我已經嘗試過來自網絡的解決方案,但還沒找到任何東西。 我已經給出了相關的東西一切正常工作就好了Python中的sqlite更新聲明不工作

query ="Alpha" 

string = "Beta" 

CreateDB = sqlite3.connect('check.db') 
querycurs = CreateDB.cursor() 

def createTable(): 
    querycurs.execute('''CREATE TABLE Data1 
         (id INTEGER PRIMARY KEY, q TEXT, info TEXT)''') 

createTable() 

def addCust(q,info): 
    querycurs.execute('''INSERT INTO Data1 (q,info) 
         VALUES (?,?)''',(q,info)) 

addCust(query,string) 

for i in range (1, 5): 
    string = input('What would you like to enter?: ') 
    querycurs.execute('UPDATE Data1 SET info =? WHERE q =?',(string,query)) 
    CreateDB.commit() 

如果你運行這個程序以其優良的原因的任何語法錯誤我編輯的程序,所以我可以把它放到網上。這只是你需要擔心的UPDATE語句。 Cheerio。

+0

我試過你的代碼在我的電腦上,它工作正常。數據庫已更新。 – zhangyangyu

回答

0

適合我。我建議你將input()更改爲raw_input()以強制執行字符串數據。

+0

感謝只是沒有在正確的版本加載。 – user2578294