DBGrid自动更新数据问题。 那你可以用TADOTable,那样就行了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果你用TADOQuery的Refresh的话,可以更新一部分,为什么说是一部分呢,它只更新已有的记录,如修改、删除之类,好象不能更新刚输入的记录。如果有什么办法的话,不防告诉一声,在此谢了! 虽然用ADOQuery.Refresh可以更新一部分数据,但并不能更新刚输入的数据,只能是Delete掉的或被Update掉的。 如果一定要使用AdoQuery可以在form的Onactivate事件中加入AdoQuery1.active:=false;AdoQuery1.open;或AdoQuery1.execsql;这样每当form重新显示,DBGrid能自动进行更新内容,因为执行了AdoQueryDBGrid的datasource发生了变化 写一个过程queryado.close;qeuryado.sql.clear;queryado.sql.add('select .....')//显示在DBGRID里面的东西queryado.sql.open;修改后或增加后就执行这一个就得了,可能有点笨但先解决这个问题再说吧! 刚试过TAdoDataSet,也不行。使用TAdoTable需要做什么额外设置吗? 其实我就是想做一个监控程序,监视数据库的变化,程序本身并不修改数据库的内容。而我的FORM在第一次打开后就不动了,其上的DBGRID映射数据库中的变化。拜托了,谢谢。 DBGrid的DataSet可以是ADOQUERY呀,你在临控时只要控我说的那样是可以做到更新的,我们原先也是这样做的呀!!! 表中的数据变动后,需要对表格重新进行一次刷新,即close 后open. dbgrid可没有那么聪明, 当然你可以自己来定时刷新, 比如 : 5分钟一次.================================================================土人, 我的女友这样叫我大强, 我的同事这样叫我人渣, 我的同学这样叫我...Delphi, 我的最爱...... 我的意思是当你的数据发生变化,可以调用self.OnActivate(self);这样form不用关闭,就可以实现你的要求。当然,这只是一种方法 to luoshumeng(乡村意外):你所说的写一个过程:queryado.close;qeuryado.sql.clear;queryado.sql.add('select .....')//显示在DBGRID里面的东西queryado.sql.open;修改后或增加后就执行这一个就得了,但是我怎么获取数据库被改动的消息啊?毕竟我的程序并不对数据库进行更新。数据库的更新是由别第三方的程序施行的。 我认为luoshumeng(乡村意外)的意思是queryado.close;qeuryado.sql.clear;queryado.sql.add('select .....')//显示在DBGRID里面的东西queryado.sql.open;用在要更新查询的结果时用,而不是去更新数据库本身 郁闷的 原始UDP封包发送??? 该视图为何建立失败? 简单问题,顶者有分!~~ DAX Error。在线急盼!! 求一SQL语句 如何取得键盘上同时按下的两个或更多个的键?比如space+a+b+c 关于在注册表中寻找到当前可用的串口合并口的键值?在线等待。。。。。 Delphi 5开发人员指南书的疑点 请高手指教,如何实现边选择歌曲边播放歌曲????? 找一个程序员编写一个简单的程序 dual 是什么东西? MIDAS应用服务器method参数错误,为什么???
如果有什么办法的话,不防告诉一声,在此谢了!
可以在form的Onactivate事件中加入
AdoQuery1.active:=false;
AdoQuery1.open;或AdoQuery1.execsql;
这样每当form重新显示,DBGrid能自动进行更新内容,因为执行了AdoQuery
DBGrid的datasource发生了变化
queryado.close;
qeuryado.sql.clear;
queryado.sql.add('select .....')//显示在DBGRID里面的东西
queryado.sql.open;
修改后或增加后就执行这一个就得了,可能有点笨但先解决这个问题再说吧!
程序本身并不修改数据库的内容。
而我的FORM在第一次打开后就不动了,其上的DBGRID映射数据库中的变化。拜托了,谢谢。
================================================================土人, 我的女友这样叫我
大强, 我的同事这样叫我
人渣, 我的同学这样叫我...
Delphi, 我的最爱......
这样form不用关闭,就可以实现你的要求。
当然,这只是一种方法
queryado.close;
qeuryado.sql.clear;
queryado.sql.add('select .....')//显示在DBGRID里面的东西
queryado.sql.open;
修改后或增加后就执行这一个就得了,但是我怎么获取数据库被改动的消息啊?毕竟我的程序并不对数据库进行更新。数据库的更新是由别第三方的程序施行的。
queryado.close;
qeuryado.sql.clear;
queryado.sql.add('select .....')//显示在DBGRID里面的东西
queryado.sql.open;
用在要更新查询的结果时用,而不是去更新数据库本身