2015-03-03 3 views
2

Привет, я пытаюсь вставить несколько строк (два в этом случае) в базу данных SQLITE с помощью qt 5.4. Я слежу за документацией, но программа рушилась, и я не могу объяснить, почему.Вставка нескольких строк в базу данных SQLITE с использованием qt

query_Invoice.prepare("INSERT INTO Invoice VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); 
QVariantList Invoice_Number, Date_Time, Total_Purchased, Qty, Description, Product_CODE, Unit_Price, Total_Price, Goods_Total, VAT_Invoice, Company_ID; 
Invoice_Number << 1 << 2; 
Date_Time << 1776-07-04 << 1776-07-05; 
Total_Purchased << 2 << 3; 
Qty << 50 << 60; 
Description << "Paint" << "Drill" << QVariant(QVariant::String); 
Product_CODE << "EEFF2" << "EEF23" << QVariant(QVariant::String); 
Unit_Price << 12 << 13; 
Total_Price << 53 << 66; 
Goods_Total << 70 << 80; 
VAT_Invoice << 55 << 66; 
Company_ID << 1 << 2; 
query_Invoice.addBindValue(Invoice_Number); 
query_Invoice.addBindValue(DateTime); 
query_Invoice.addBindValue(Total_Purchased); 
query_Invoice.addBindValue(Qty); 
query_Invoice.addBindValue(Description); 
query_Invoice.addBindValue(Product_CODE); 
query_Invoice.addBindValue(Unit_Price); 
query_Invoice.addBindValue(Total_Price); 
query_Invoice.addBindValue(Goods_Total); 
query_Invoice.addBindValue(VAT_Invoice); 
query_Invoice.addBindValue(Company_ID); 
query_Invoice.execBatch(); 
qDebug() << query_Invoice.executedQuery(); 
qDebug() << query_Invoice.lastError(); 
+0

Как вы инициализируетесь своей базой данных? – DaveyLaser

+0

Да, я подключился к базе данных и создал таблицу с соответствующими полями – Root0x

+0

Я не вижу закрытия ')' в строке запроса ... – leemes

ответ

3

Начать попытку успешно вставить одну строку. Вам нужно указать, какие столбцы в таблице соответствуют значениям.

query_Invoice.prepare("INSERT INTO Invoice (column_name1, column_name2, column_name3) VALUES (?,?,?)"); 

Кроме того, addBindValue(DateTime) должен быть addBindValue(Date_Time).

И

query_Invoice.prepare("INSERT INTO Invoice VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"); <---- Closing paren after last '?' 
+0

Я абель, чтобы вставить одну единицу в базу данных – Root0x

+0

Вы пытались добавить имена столбцов? – DaveyLaser

+0

Добавлено другое предложение. DateTime to Date_Time в addBindValue() – DaveyLaser

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