说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

100分~~~高手来拿~~

编辑:说三道四文库 发布时间:2018-04-25 06:45
HTML文档下载 WORD文档下载 PDF文档下载
我的form用了ADOQuery、DBGrid
现在实现了insert、update等等~

但是 每次增加记录或者修改记录
dbgrid不能显示实时的数据库记录

我看到dbgrid ADOQuery都有refresh方法
但是 一调用就报错!!

希望高手指点~~
用ADOQuery1.Requery();
你可以不用refresh,用
AdoQuery.close
AdoQuery.open
来从新定位数据集。
另外,你出的错是什么错?提问题的时候应该说出来
ADOQuery1.Active := false;
ADOQuery1.Active := true;
用requery
adoquery1.requery
应该尽量使用adoquery自带的方法
第一,只使用一个adoquery
第二,如果为insert可以使用adoquery1.append方法 post之后可以做到实时显示
第三,如果为update可以使用adoquery1.edit方法  post之后可以做到实时显示
ADOQuery1.Requery();
AdoQuery.close;
AdoQuery.open;
如果使用的是Access数据库,可以加上Sleep(500);


----------------------------------------------------------------
             花自飘零水自流,一种相思,两处闲愁。
               此情无计可消除,才下眉头,又上心头。
----------------------------------------------------------------
可以用refresh,你是不是没定义关键字段(唯一索引)
回复人: whythinkwhy(小生) ( ) 信誉:100  2004-10-27 14:38:00  得分: 0  
 
 
   应该尽量使用adoquery自带的方法
=====================================================
我不同意小生的意见
在使用DELPHI提供的数据控件进行数据库操作时,最好用SQL语句操作,对于控件自带的方法,不用也罢,用控件的文件到数据库那里也是要转换为SQL才可以执行,如果有机会可以看一下,李维写的关于DBEXPRESS的一本书,书名我忘了,书里后边几章讲了多种取数据方法优劣的比较

  
 
最主要的忘了说了,~~~
用SQL语句进行刷新,即SELECT 重取数据集!
你在这个语句(用SQL语句进行刷新,即SELECT 重取数据集!)应该POST哦,否则数据没有写入数据库!
上面的人都已经说了。。。。55555555555
我说什么 ?................555555555555555555555
ADOQuery1.Requery
ADOQuery1.Close ;
ADOQuery1.Open ;
你先给分
ok
我是写sql语句 进行数据记录插入的 可以进数据库
没有用post
不知道为什么 dbgrid总是只能在每次开启页面的时候读取数据

你用sql写的数据插入和更新语句是直接作用于数据库的,但是dbgrid是显示数据的界面,必须从数据库重新提取数据才可以正确再界面上显示,你可以关闭数据集再开启试试
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘