QSqlDatabase transaction()事物提交

来源:互联网 发布:cl邀请码淘宝怎么搜 编辑:程序博客网 时间:2024/05/01 16:54
1.QSqlDatabase db = QSqlDatabase::database();
2.db.transaction();
3.
4.bool sql_ok=TRUE;
5.QSqlQuery q;
6.QFile file(:/script.sql);
7.QString script=file.readAll();
8.QStringList sql=script.split(";", QString::SkipEmptyParts);
9.
10.for (int i=0; i<sql.count() && sql_ok; i++)
11.{
12.    sql_ok=q.exec(sql[i]);
13.}
14.
15.q.clear();
16.if(sql_ok)
17.{
18.    sql_ok = db.commit();
19.}
20.
21.if(!sql_ok)
22.{
23.    QMessageBox::critical(0, "Error", q.lastError().text());
24.    db.rollback();
25.}
原创粉丝点击