2012-02-19 187 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