您的位置:首页 > 移动开发

QDataWidgetMapper无法保存更新数据库

2011-05-02 14:26 573 查看
以前遇到数据库无法用QDataWidgetMapper更新的问题,《C++ gui Qt4》书上数据库那一节说得不是很清楚,用自动更新,改变数值后没有更新到数据库(最重要的那点要mapper->submit()提交一下没有说清楚)···谷歌百度 QTCN CSDN都没人解决一下 晕死~ 自己解决好了。 原因如下:

QT助手上说QDataWidgetMapper有自动更新和手动更新两种方法·· 那个自动更新是自动更新model的内容,而不是直接更新数据库的内容。 也就是说控件失去焦点后会自动更新model后,还要再自己调用mapper->submit()一下才能更新到数据库。

手动更新的话就是,在控件上输入新的数值后,当控件失去焦点,model不会自动更新,只有再调用一下mapper->submit()之后才会更新到model和数据库(这是同时更新model和数据库的)。

另外最重要的一点,要将mapper->submit()放在另外一个槽里调用才有效。如新建一个提交按钮,按下就调用mapper->submit() 提交。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: