急等,远程连接mssql数据库得到数据后,如何做到关闭连接,dbgrideh1仍然显示数据? 远程连接mssql数据库得到数据后,如何做到关闭连接,dbgrideh1仍然显示数据?因为为了减轻服务器压力,所以得到数据后,就关闭连接,但是现在一关闭连接,数据跟着就关闭了,如何让数据仍然显示呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 dbgrideh1指定的连接组件式哪个,adoquery1.close 没看完要求,delphi只有adodataset组件可以临时存储数据源,详细的使用方法请你自己去参考吧 dbgrideh 连接adoquery1,连接远程数据后,数据显示在dbgrideh1中,但是一旦关闭adoconnection1连接,那adoquery1中的数据也就跟着关闭了,我希望就是adoconnection关闭了,但是dbgrideh1中仍然显示刚才的数据。怎么做到? 给你个笨办法,就是将数据保存到本地文件中,ADOQuery.SaveToFile.等关闭连接后再LoadFromFile就可以了 根据你的要求,现在做的Delphi三层结构程序都可以实现你的要求,如果是2层结构的,你可以做成假三层结构,这样对数据库的访问都在内存中,不用每次操作都访问数据库,例如新增,可以一次增加若干条记录然后一次提交到数据库; 如果你做的更好一些可以做数据库的连接池,这样也不用你说的,用完就关闭,毕竟打开数据库连接也需要时间的。1、假三层用到的组件:DataSource、ClientDataSet、DataSetProvider、AdoQuery 和真三层差不多,就是用到的数据集在ClientDataSet里操作; 你在本地建一个临时表` 把远程读来的数据全部放在你刚刚建好的临时表里你在关闭adoconnection 然后把adoquery指向临时表``不就好了吗`?(虽然很傻``呵呵`应该可以``) 用完后``就把临时表KILL掉`` 使用StringGrid或DataGrid就行了。自己写一个过程,实现数据的显示。关了数据库连接,照样显示和ListView的功能接近。 同意8楼,用三层的思路来处理,当然你可以把dbgrid换成stringgrid,这样好像要麻烦不少,呵呵 用stringgrid,listview等都可以,不要用数据感知控件. 把Adoquery的游标属性换一换! 在 数据集 QUERY关闭前 将数据保存在clientdataset之中临时缓存中,将DBGRID的数据集制定为clientdataset就可以啦。 如下:clientdataset1.data:=Tclientdataset(dbgrid.datasoruce.dataset).data; clientdataset1.open; dbgrid.datasoruce.dataset:=clientdataset1这样就可以实现你要的东东啦 //连接ADOQuery1.Connection:= ADOConnection1;ADOQuery1.Active:= True;// 读取数据后 ADOQuery1.Connection:= nil; // Connection属性置为nilADOConnection1.Connected:= False; // 关闭连接 除了楼上回答正确外,估计其他的人都不懂ADO的使用。 《Delphi5开发人员指南》 线程问题,我开十个线程,要执行同一个函数,只是每个线程给函数传的参数不同,如何减少下面程序代码的代码量? 如何利用语句往Excel里面写入内容????急!!!!! 两个小问题 请大家看程序这样写对不对? ADODataSet1的小问题,马上结,急!!!! 有没有透明的TRACKBAR控件,也就是第三方控件。 想了解下SQL和ACCESS的区别! 程序员薪金大讨论!(欢迎大家来探讨探讨:) 哪位知道哪里有小波压缩的控件获算法?请告知.谢谢! 如何获得dxdbgrid中选中行某列的值 请问有没有这样的网格控件?
和真三层差不多,就是用到的数据集在ClientDataSet里操作;
把远程读来的数据全部放在你刚刚建好的临时表里
你在关闭adoconnection
然后把adoquery指向临时表``
不就好了吗`?
(虽然很傻``呵呵`应该可以``)
自己写一个过程,实现数据的显示。
关了数据库连接,照样显示和ListView的功能接近。
如下:clientdataset1.data:=Tclientdataset(dbgrid.datasoruce.dataset).data;
clientdataset1.open; dbgrid.datasoruce.dataset:=clientdataset1这样就可以实现你要的东东啦
ADOQuery1.Connection:= ADOConnection1;ADOQuery1.Active:= True;// 读取数据后
ADOQuery1.Connection:= nil; // Connection属性置为nil
ADOConnection1.Connected:= False; // 关闭连接