Форум сайта python.su
conn = sqlite3.connect(name)
cur = conn.cursor()
cur.execute("""
create table Department
(Department_ID integer primary key AUTOINCREMENT,
Name text);
""")
department_data = (u'Бухгалтерия', u'Строительный отдел',
u'Отдел снабжения', u'Плановый отдел',
u'Кадровый отдел')
cur.executemany("insert into Department(Name) values (?)", department_data))
cur.commit()
ProgrammingError: Incorrect number of bindings supplied. The current statement uses 1, and there are 11 supplied.
Отредактировано (Июль 20, 2010 22:30:19)
Офлайн
ха…
сработало вот так
for i in department_data:
cur.execute("insert into Department(Name) values (?)", (i,))
Офлайн
По идее, вот так должно сработать.
Я код не проверял, но смысл в том, что каждый из элементов department_data должен быть отдельным tuple.
Т.е. именно то, что ты сделал в цикле, когда написал (i, ).
department_data = [(u'Бухгалтерия', ), (u'Строительный отдел', ),
(u'Отдел снабжения', ), (u'Плановый отдел', ),
(u'Кадровый отдел', )]
cur.executemany("insert into Department(Name) values (?)", department_data))
Офлайн