QT实战数据库中遇到的问题及解决办法

项目背景

从局域网数据库(MSSQL)查询一个或多个无序字段值,结果显示到TableView_1(不可编辑)并保存至Excel
和本地数据库(SQLite)。再通过SQLite查询一个或多个无序字段值,结果显示到TableView_2(可编辑)并保
存至Execl。

问题一:通过SQLite查询数据时,提示“database not open”
分析:由于项目中采用了双数据库,却没有自定义连接名称。
解决:自定义连接名称后解决(这个解决办法产生了下个问题,请看下面)

问题二:采用自定义QSqlQueryModel作为SQLite数据模型,编辑完数据后出现“database not open”
分析:因为自定义连接名称的缘故,导致自定义的数据模型识别不了连接。
解决:MSSQL自定义连接,SQLite默认连接

问题三:使用dataChanged信号响应自定义查询结果刷新,提示“没有匹配的信号”
分析:查询了相关使用的文章,得知dataChanged信号响应速度不正常,即有时响应有时没有。
解决:把自定义查询语句储存到本地,自定义模型中添加refresh(const QString &sql)函数,刷新时调用本地储存的语句即可。

有待优化的地方:

  1. 从MSSQL查询的速度有点慢
  2. 项目界面几乎没有美化,只是换了图标
  3. 没有做大量数据插入测试
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值