QT 数据库更新数据失败

kidscannan 2012-04-14 12:03:10
在QT中使用数据库修改某条数据,然后更新,但总是报错,代码如下:

QSqlQuery query;

bool ret = query.prepare("UPDATE download SET Class = :iclass, Number = :inumber , Name = :iname where Class = :iclass1");
if (ret)
{
query.bindValue(":iclass", strclass );
query.bindValue(":inumber", "444");
query.bindValue(":iname", "66666" );
query.bindValue(":iclass1",strnumber );

ret = query.exec();
}
其中ret总是为false,系统提示信息为
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
请高手指教,谢谢。急
...全文
314 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
我是学友 2012-04-14
  • 打赏
  • 举报
回复
如果是的话,这样做是不好的,因为在对数据库执行打开操作的时候,是会产生一个临时文件,实际上是把原来数据库里面的数据提取到临时文件进行操作,关闭数据库的时候再把临时文件里的数据传回去,消除临时文件。如果上一次没有关闭数据库的话,以后实际上是在操作一个空的数据库文件。
所以数据库的操作应该是每次操作前打开,操作后关闭,这样是正确的
我是学友 2012-04-14
  • 打赏
  • 举报
回复
没有在楼主贴出来的代码中看到打开和关闭,莫非楼主是把数据库在程序打开的时候就一直打开没有关闭?

21,468

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧