2014-07-04 23 views
1

將數據插入到sqlite的如何使用qt將數據插入sqlite如何用qt

query = QSqlQuery("INSERT INTO customer_details (rationcard_num, aadharcard_num, name) 
    values('"+rationcard_num+"','"+aadharcard_num+"','"+name+"')"); 
+0

數據有什麼用,這個問題這將返回true碼? –

+0

我提供了一個嚴格遵循官方Qt文檔的工作示例。如果它解決了你的問題(我相信它確實如此),那麼請接受答案。這將有助於未來的參考。 – Abrar

回答

1

你也許可以致電查詢exec()或直接與exec(const QString& query)調用它。因此,例如,你可以這樣做:

QSqlQuery query; 
query.exec("INSERT INTO customer_details (rationcard_num, aadharcard_num, name)" 
      + "values('" + rationcard_num + "','" + aadharcard_num + "','" 
      + name + "')"); 

然而,如果你想使用一個事先準備好的聲明你想構建一個QSqlDatabase查詢,調用該prepare(statement)並綁定值。例如:

QSqlQuery query; 
query.prepare("INSERT INTO person (rationcard_num, aadharcard_num, name) " 
       "VALUES (:rationcard_num, :aadharcard_num, :name)"); 
query.bindValue(":rationcard_num", rationcard_num); 
query.bindValue(":aadharcard_num", aadharcard_num); 
query.bindValue(":name", name); 
query.exec(); 
4

您可以修改您的代碼並查詢這個樣子的,我認爲這將澄清你的疑慮:

準備查詢語句

QSqlQuery query; 
query.prepare("INSERT INTO customer_details(rationcard_num, aadharcard_num, name) values(:rationcard_num,:aadharcard_num,name)"); 

綁定值

query.bindValue(":rationcard_num",your_value); 
query.bindValue(":aadharcard_num",your_value); 
query.bindValue(":name",your_value); 

調試

您可以使用qDebug()找到,如果您的查詢是可執行文件:

qDebug()<<query.exec()<<endl; 

如果插入,否則爲假

0
QSqlQuery query; 
query.exec("INSERT INTO customer_details (rationcard_num,aadharcard_num,name)VALUES('"+rationcard_num+"','"+aadharcard_num+"','"+name+")");