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() 提交。
QT助手上说QDataWidgetMapper有自动更新和手动更新两种方法·· 那个自动更新是自动更新model的内容,而不是直接更新数据库的内容。 也就是说控件失去焦点后会自动更新model后,还要再自己调用mapper->submit()一下才能更新到数据库。
手动更新的话就是,在控件上输入新的数值后,当控件失去焦点,model不会自动更新,只有再调用一下mapper->submit()之后才会更新到model和数据库(这是同时更新model和数据库的)。
另外最重要的一点,要将mapper->submit()放在另外一个槽里调用才有效。如新建一个提交按钮,按下就调用mapper->submit() 提交。
相关文章推荐
- C#连接Access数据库,Update更新数据时出现“不能打开数据库,应用程序可能无法识别该数据库。。。”错误
- 无法更新数据库 "***ASPNETDB.MDF",因为数据库是只读的。
- SQL 2008 R2 数据库操作,不允许保存更改。您所做的更改要求删除并重新创建一下表。您对无法重新创建的表进行了更改或启用了“阻止保存要求重新创建表的更改”选项
- 关于error C2471:无法更新程序数据库的错误的解决方法
- WPF 验证没有通过无法保存数据(非常好)+ 虚似数据库
- error C2471: 无法更新程序数据库
- 如何解决数据库更改无法保存问题?
- “无法更新数据库 "***ASPNETDB.MDF",因为数据库是只读的”解决方法
- 数据库保存原来数据更新
- thinkcmf5更新模板代码分析,解决模板配置json出错导致数据库保存的配置项内容丢失问题
- 转 Error C2471:无法更新程序数据库
- 关于error C2471:无法更新程序数据库的错误的解决方法
- 数据库应用:无法更新到数据库
- MSSQL解决数据库更改表中的内容无法保存
- WinForm的DataGridView焦点并没有离开该Cell无法更新数据库
- java ipone 微信昵称emoji表情保存失败 无法存入数据库
- asp中关于数据库无法更新问题的解决方法
- 数据库无法保存中文的解决
- 手动方式更新变动的dataset 保存到数据库(非控件)
- DataGridView无法更新保存当前行的问题