C# timers控件 每3秒查询数据库 如果数据库里的数据有更新时, 就自动弹出窗口提示一下
2个回答
展开全部
直接去检查数据更新应该是比较麻烦的,你可以考虑在数据库中建一个触发器(access里没这个,需要sql server之类的),当数据有insert和update的时候,在触发器中将数据的信息插入一个新表,比如叫dblog,这个表中有如下字段
id(序号自增长)、recordid(添加或者修改的数据id)、op(是修改还是添加)、optime(操作时间,默认值可以用getdate())、flag(0或者1,表示是否已经显示过了,默认值0)
比如说当你那个表新添数据的时候,就通过触发器将信息写入这个dblog,flag初始值为0,你查询的时候就直接查select * from dblog where flag=0,将这些信息显示出来,然后update dblog set flag=1(要精确点就在上一步select之后,将取到的id拼成1,3,5,9这种格式,然后这里用update dblog set flag=1 where flag=0 and id in (1,3,5,9))
另外,弹出窗口可能不是很好,它没办法即时反应出变化,可以考虑用一个列表框或者文本框,这样就可以滚动显示了。
id(序号自增长)、recordid(添加或者修改的数据id)、op(是修改还是添加)、optime(操作时间,默认值可以用getdate())、flag(0或者1,表示是否已经显示过了,默认值0)
比如说当你那个表新添数据的时候,就通过触发器将信息写入这个dblog,flag初始值为0,你查询的时候就直接查select * from dblog where flag=0,将这些信息显示出来,然后update dblog set flag=1(要精确点就在上一步select之后,将取到的id拼成1,3,5,9这种格式,然后这里用update dblog set flag=1 where flag=0 and id in (1,3,5,9))
另外,弹出窗口可能不是很好,它没办法即时反应出变化,可以考虑用一个列表框或者文本框,这样就可以滚动显示了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询