• 6265阅读
  • 5回复

[提问]如何做到数据库被操作后通知QT程序,代替不停的查表。 [复制链接]

上一主题 下一主题
离线lvhuat
 
只看楼主 倒序阅读 楼主  发表于: 2013-03-21
1.这是一个SQLITE数据库
2.这是一个QT程序


数据某条记录的某个字段发生改变以后,QT程序立即知晓,并且做出对应的操作。


请问有什么实际的方法么?
感谢回答!!!!
离线圣域天子

只看该作者 1楼 发表于: 2013-03-21
没有办法,最佳的方式类似c/s,由S负责操作数据库,并通知各个C
离线toby520

只看该作者 2楼 发表于: 2013-03-21
貌似简单的做法就是主动每隔一段时间去刷新一次,刷新UI
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线begboy

只看该作者 3楼 发表于: 2013-03-21
回 楼主(lvhuat) 的帖子
一、如果是数据库在所在的操作系统是以文件形式存在的,
可参考我之前写的方法:
http://www.qtcn.org/bbs/read-htm-tid-53149-displayMode-1-page-1.html#141159
二、如果是内存数据库,则较为复杂
1、必须是超级用户有获取内存数据库对应分配地址空间的权利;
2、对内存数据库所占内存空间,包括索引和主数据库内存文件生成唯一的信息摘要予以保存;方法见上面链接。
3、设置定时器,每隔指定的时间片重新生成唯一的信息摘要进行比较,若不符则数据库发生变化,然后进入你
    业务处理流程。
建议供参考。
begboy
离线roywillow

只看该作者 4楼 发表于: 2013-03-21
回 3楼(begboy) 的帖子
如果只是监视文件变化的话,QFileSystemWatcher应该可以办到
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
离线jdwx

只看该作者 5楼 发表于: 2013-03-22
程序是自己写的,怎么会想不出办法知道程序已经修改了数据库。
发帖时要说明:操作系统、Qt版本、编译器,这样能更快的得到回复。
快速回复
限100 字节
 
上一个 下一个