现在一个FROM里面有一个DBGIRD,去查询数据库,现在我用一个timer来自动更新数据,有没有其他方法,当表中的数据发生变化后,会自动去执行SQL,如果在表里做个触发器,那在DELPHI里会触发到吗?
解决方案 »
- 用ellipse画圆,半径较小出来的效果一点都不圆。怎办?急!
- 悼念我失去的一年,散分
- delphi 开发群,大量招人!欢迎高手加入!!!up有分!
- 最近好像郁闷的人很多呀,我也散分(极度郁闷中......)
- 急:请教怎样删除一个已安装的ocx控件并重新安装(主要是想换一个类名)
- 各位DELPHI程序员你们在用什么操作系统及版本?!
- 奇怪的问题 好奇怪
- 如何在DELPHI中用MS SPEECH SDK5.1开发中文TTS系统?要求可以存为WAV文件
- 在SQL中,怎样得到系统当前日期?
- DELPHI怎样检查病毒?
- 求助:bpl包中的函数修改了,包外调用不变
- 有人碰到吗,客户端在有些电脑提示日期类型不对,有些电脑就可以。
但是没有实际做过。
可以考虑单独做一个服务程序,
专门用来检查是否有更新的数据。
有的话,做上记号。
或者,socket传给 Client,或者等待 Client 来提取更新过的数据。
总感觉很复杂,不如加一个“刷新”按钮,让用户自己去点。
触发器执行xp_cmdshell,调用 socket客户端程序 发送消息到 socket服务端程序
1. 用 Timer (或线程) 检查,势必多次访问数据库。这样,如果客户端多了,网络资源有一半浪费在“Check”上了
2. 如果用触发器。我有点反感触发器,这个东西时间长了以后,容易造成混乱。特别是新接手的程序员。常常会不知道发生了什么。
3. 相对好的方法,是在服务器端,用一个小程序,不断的检查你留意的那几张表。当发现变更以后,通过自己定义的协议,通知各个客户端。客户端收到信号后,在需要的时候,在空闲的时候,自己去数据库里搜。
4. 以上方法,或多或少的有些不妥。最好的方案,我还没有想通过。
不过,直接用刷新按钮,通常客户也是可以接受的。
大部分数据库操作程序,又不是股票软件之类的,比较适合这种方法。
http://blog.csdn.net/sliphades/article/details/8124630