关于ADO和Midas的问题(急)(200分)

  • 主题发起人 主题发起人 BitBug
  • 开始时间 开始时间
B

BitBug

Unregistered / Unconfirmed
GUEST, unregistred user!
我的程序用ADO连接SQL SERVER2000,有个表含有image字段存放图片,
开始不觉得怎样,到有700多条记录时,数据库文件达70M,
程序中打开时硬盘狂转,好长时间才显示数据.
我做了个试验,分别用BDE和ADO连接该表,table控件打开速度很快,
ADOtable控件打开就出现上述硬盘狂转的情况,后来问朋友将ADOtable
的CursoLocation设为clUseServer,就变的和BDE一样快.本以为问题
搞定,在原程序中一试才发现情况依旧,好象CursoLocation属性在
Midas中不起作用似的.
后来没办法,只好将Provider的Options设上[poFetchBlobsOnDemand],
速度才勉强能忍受,但比起BDE还慢很多.
请问各位,为什么会这样?怎么样解决?
 
用ADOQuery
 
提问者:
如果你还要继续讨论请定期提前你的帖子,如果不想继续讨论请结束帖子。
请认真阅读大富翁论坛规则说明
http://www.delphibbs.com/delphibbs/rules.asp
 
用ADOquery试试,数据量大的时候query和table的速度
区别是很大的
 
在三层结构一般不直接用TTable打开数据库表,因为这样如果数据库中记录多的话会严重
影响效率,建议用AdoQuery,取需要的数据,例如先把除Image字段以外的字段取出来,当
用户选择相应的记录时,再从数据库中将该记录中的Image字段取出来。这样,一是可以
减少数据库的负担,另外也可以减少数据在网络上的传输量。
 
ADO连接SQL SERVER2000,有个表含有image...
图片最好用jpeg,要小很多的。
另外,如果图片太多的话,blob确实会占很多空间的。
此时最好用保存文件的方法。
 
可不可以将数据分段下载,每次只取一定数目的记录到客户端
这样应该会好一点吧
 
不用保存图片吧,用一个字符型字段保存图片的路径不行吗
 
我很想知道有没有什么好方法.
 
1:使用数据库保存图片是最好的方法,用文件方式有很多毛病。
祥见:http://www.csdn.net/expert/TopicView.asp?id=117710
2:使用分段存储速度能快一些。
3:使用存储过程
4:使用ADOQuery
 
好像可以通过ado来控制数据传输,可以一次少下传一些数据。具体看看李维的书。
 
我在用BCB5做多层结构系统时,我在Server端加入了一个取得服务器IP地址的方法:GetServerIP它的参数是vIP:Variant *,IN方式,并在服务端实现了这个方法,
加入的代码如下:
*vIP="192.168.0.01";最后我注册成功。
可是在我开发客户端程序时,我用TSocketConnection
当取得它的服务时我是这样做的:
Variant* vip;
SocketConnection1->AppServer.GetServerIP(vip);
Edit1->Tex=vip;
可 是我在运行程序时出错,没有编译通过。
它说getserverIP不是variant的成员
getserverIP is not a memober of variant
请问?
我该如何去调用这个方法呢?
请各位大侠多多指教?
小生的QQ:65466700(24小时在线恭候)
MAIL: alongsun@sina.com
 
由于时间紧,我没作进一步研究就交货了,之后也没有进一步研究。
多谢大家的帮助,使我受益良多。
特别感谢luhongjun提供的资料。
另外,alongsun的问题我也不清楚,我已经很久没有参与软件开发了。sorry。
 
后退
顶部