数据库连接人数有限,而对效率要求又非常高,想到把数据读出之后在DBGrid里显示出来然后直接注销掉连接,不能采取读到StringGRid或者ClientDataSet等方法,不知道还有什么好办法。
解决方案 »
- 软件网络更新的设计方法
- 可否确定一个Excel文件是否已经打开. 当Excel关闭时能否发送一个消息来告诉程序.请高人指点啦
- 简单问题.
- 在Delph中如何调用选文件档的对话框?
- 使用MSCOMM接收字符不全的问题
- 怎样用代码控制DBGrid的标题栏!
- 求救!!!请问各位大虾哪里有通用的打印模块下载?
- 十万火急!!!哪位大侠能告诉我哪有shell control pack for D6的控件下载,要带源码的!!!
- 提议:更换版主,同意的进来签个名!//千山一刀
- 有用过sp_AddLinkedServer的请帮忙一下,谢谢!
- 怎样关闭MDIChildren窗体??
- 三层的一个小问题,RPC服务器不可用......请求帮忙,谢谢
既然有这样的需求,为何还一定要DBGrid来显示数据,为何还不能用能静态显示数据的控件?
你可以再加些别的控件, 这里对我们读到的数据(放到dbgrid中的数据)进行处理
使用频率最高的数据下载到本机, 然后在本地操作效率也是很高的.
比喻说 ClientDataSet2.Data:=ClientDataSet1.Data
ClientDataSet1就是你下载到本机的数据离线数据,但是这样做有一个
问题就是数据不是最新, 所以你要每隔一段时间更新本地数据.
adoquery1.DisableControls
设置:
ADODataSet/ADOTable/ADOQuery
CursorLocation=clUseClient;
CursorType = clStatic;
LockType = ltOptimistic;
然后,正常的载入数据,
然后在保持激活的状态下TADODataSet->SaveToFile();
保存到一个文件,
然后,就可以断开ADODataSet的数据源了,
然后用ADODataSet->LoadFromFile();载入刚保存的文件,关于Briefcase模式的数据库应用,请参照李维的《Delphi 5.x ADOMTSCOM+高级程序设计篇》不知道这个是不是你要的。