2012-02-19 640 views
0

我无法在sqlite表中插入数据。 这是我的代码:将变量插入sqlite数据库表

import sqlite3 
connection = sqlite3.connect('mydata.db') 
cursor = connection.cursor() 
a=raw_input('name') 
a=str(a) 
b=raw_input('theme') 
b=str(b) 
c=raw_input('language') 
c=str(c) 
sql="INSERT INTO Website (Website, Theme, Language) VALUES (%, %, %)",(a,b,c) 
cursor.execute(sql) 
connection.commit() 
connection.close() 

由于某种原因,它不起作用。

回答

1
  • 扩展调用语法是f(*args)

    cursor.execute(*sql) 
    
  • sqlite的使用'?'占位符:

    conn.execute('insert into sometable values (?,?,?)', (a,b,c)) 
    
  • raw_input()已经返回一个字符串。 a = str(a)是不必要的
+0

感谢我想你的代码,我收到以下错误信息: 回溯(最近通话最后一个): 文件“C:\用户\搜搜\桌面\ projetpython \数据库\ insert_variables.py “,第13行,在 cursor.execute(sql) ValueError:操作参数必须是str或unicode – user1119429 2012-02-19 15:34:02

+1

@ user1119429:[update](http://stackoverflow.com/posts/9350129/edit)您的问题并添加完整的追溯和您尝试过的代码。 – jfs 2012-02-19 17:26:15