2013-07-13 36 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