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

спасибо Я попробовал ваш код, и я получаю следующее сообщение об ошибке: Traceback (самый последний вызов последним): Файл «C: \ Users \ Сосо \ Desktop \ projetpython \ базы данных \ insert_variables.py ", строка 13, в cursor.execute (sql) ValueError: рабочий параметр должен быть str или unicode – user1119429

+1

@ user1119429: [update] (http://stackoverflow.com/posts/9350129/edit) ваш вопрос и добавить полный traceback и код, который вы пробовали. – jfs

Смежные вопросы