QSqlQuery query & void QSqlQuery::clear ()

在Qt中使用sqlite数据库。

使用QSqlQuery query执行sql语句。

sql语句正常,但query.exec() 返回false,无法更新数据库。

解决方法:

使用 void QSqlQuery::clear ()

使用query之后要query.clear()。

View Code
 1 query.prepare("update clock set "
 2                   " title = ?,"
 3                   " remark = ?,"
 4                   " templatetype = ?,"
 5                   " looptype = ?,"
 6                   " alarmtime = ?,"
 7                   " nextalarmtime = ?,"
 8                   " onalarmtime = ?,"
 9                   " prealarmtime = ?,"
10                   " isenable = ?"
11                   " where id = ?");
12 
13     query.addBindValue(title);
14     query.addBindValue(remark);
15     query.addBindValue(templatetype);
16     query.addBindValue(looptype);
17     query.addBindValue(alarmTime);
18     query.addBindValue(nextAlarmTime);
19     query.addBindValue(onAlarmTime);
20     query.addBindValue(preAlarmTime);
21     query.addBindValue(isEnable);
22     query.addBindValue(id);
23     bool isSucceed = query.exec();
24     ...
25    query.clear();
posted @ 2012-08-01 21:04  lzihua  阅读(2384)  评论(0编辑  收藏  举报