2015-05-23 106 views
0

我尋求這個問題的幫助,我無法在任何地方找到答案。我有一個程序加載多個字符串變量,然後我試圖將它們粘貼到sqlite3數據庫中,一切似乎都很好,我有一個連接,但是這段代碼給了我一個錯誤:expect';'字符串常量(收到法爾巴變量之前需要它的任何想法數據庫插入錯誤(Qt,sqlite)

QSqlQuery query; 
query.exec("INSERT INTO spz VALUES") "(Meno,Priezvisko,Datum,Bydlisko,COP,Znacka,Model,Farba,Objem,Rok,SPZ) VALUES('" meno "','" priezvisko "','" vek "','" bydlisko "','" cop "','" vyrobca "','" model "','" farba "','" objem "','" rok "','" znacka"');"); 
+0

這是否串看起來你的權利? – Galik

+0

我現在看到我搞砸了,但即使是下面提到的代碼也不適用於我。 –

+0

我有時會做的是在va中創建字符串在調用query.exec()函數之前可以進行riable。這樣你可以打印出來,看看它是否正確構建。 – Galik

回答

1

試試這個

QSqlQuery query; 
query.exec("INSERT INTO spz(Meno,Priezvisko,Datum,Bydlisko,COP,Znacka,Model,Farba,Objem,Rok,SPZ) VALUES('" + meno + "','" + priezvisko + "','" + vek + "','" + bydlisko + "','" + cop + "','" + vyrobca + "','" + model + "','" + farba + "','" + objem + "','" + rok "','" + znacka +"');"); 

其他方法:?

QSqlQuery query; 
query.prepare("INSERT INTO spz(Meno,Priezvisko,Datum,Bydlisko,COP,Znacka,Model,Farba,Objem,Rok,SPZ) VALUES (:meno, :priezvisko, :vek, :bydlisko, :cop, :vyrobca, :model, :farba, :objem, :rok, :znacka)"); 
query.bindValue(":meno", meno); 
query.bindValue(":vek", vek); 
query.bindValue(":bydlisko", bydlisko); 
query.bindValue(":cop", cop); 
query.bindValue(":vyrobca", vyrobca); 
query.bindValue(":model", model); 
query.bindValue(":farba", farba); 
query.bindValue(":objem", objem); 
query.bindValue(":rok", rok); 
query.bindValue(":znacka", znacka); 
query.exec(); 
+0

謝謝,但由於+ char,這個返回了Incopatible類型的字符串和整數。 –

+0

我不知道meno,priezvisko,vek,...變量的數據類型。您需要爲每種數據類型進行適當的轉換。 –

+0

也數據類型都是字符串。如果你不介意我問,你的意思是通過正確的鑄造? –