QT下的QSqlQuery類

 Qt中對數據庫的操作主要通過QSqlQuery實現,QSqlQuery提供了執行數據庫語句的方法,在Qt中利用QSqlQuery類實現了執行SQL語句。它可以返回所有的執行結果,當建立好數據庫連接好後可以通過使用QSqlQuery::exec()執行SQL語句。

    QT提供了QSqlQuery類對數據庫記錄的Select、Insert、Update、Delete操作。

QSqlQuery提供的常用方法如下:

next():可以得到下條記錄的位置。

previous():可以得到上條記錄的位置。

first():可以得到第一條記錄的位置。

last():可以得到最後一條記錄的位置。

seek():可以得到任意一條記錄的位置。

需要注意的是:exec()執行會將QSqlQuery對象指針只在第一條記錄上,而如果你想在循環條件中使用next()的話,那麼獲取的記錄會從第二條開始,解決方法:你可以直接在循環條件使用next(),而之前不使用exec()。

    Select操作:
 QSqlQuery query;
    QString s=QString("select * from tms where TMS_USER=%1").arg(user);
    query.exec(s);
    query.first();
    QString i1=query.value(0).toString();
    QString i2=query.value(1).toString();
    qDebug()<<i1;
qDebug()<<i2;

Insert操作:

    QSqlQuery query;
    QString a=this->ui->a->text();
    QString b=this->ui->b->text();
    QString c=this->ui->comboBox->currentText();
    query.prepare("INSERT INTO job (job_id, job_name, dept_id) VALUES (:a, :b, :c)");
    query.bindValue(":a", a);
    query.bindValue(":b", b);
    query.bindValue(":c",c);
query.exec();

Update操作:

 QSqlQuery query;
    query.prepare("UPDATE employee SET salary = ? WHERE id = 1003");
    query.bindValue(0, 5000);
query.exec();

Delete操作:

 QSqlQuery query;
    query.prepare("UDELETE FROM employee WHERE id = 1007");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章