三层的数据查询问题,哪个更好?欢迎讨论(80分)

  • 主题发起人 主题发起人 ziyu
  • 开始时间 开始时间
Z

ziyu

Unregistered / Unconfirmed
GUEST, unregistred user!
近段看李维的书,书中提到了数据查询的方法主要用两种,一种是
clientdataset1.provider.datarequest('select * from table')然后在服务器端的ondatarequest
事件中写query1.close;
query1.sql.add(Input);
query1.open;
还有一种是设置clientdataset的commandtext属性,
clientdataset1.commandtext:='select * from table';
clientdataset1.open;
我想请问在同等环境下哪种查询更快,更有效率一些。我个人感觉把查询放在服务器端,就是
第一种方法更快一些,但有的帖子说datarequest方法用起来很麻烦,经常出错。
不知道各位大虾的看法怎么样,大家都用哪种方法查询。
 
1。DATAREQUEST以前D4用
2。D5用commandtext
对比而言,DATAREQUEST的更加用处广泛,不光可以查询,也可以作别的事情
 
一定是用
with clientdataset do
begin
close;
datarequest('select * from table where something='''+edit.text+'''');
open;
end;
这样子很灵活的,
 
查询的结果集为一条记录,可以在应用服务器上做服务
用TQuery,传回简单结果,在应用服务器上有效率.

结果集是一组数据,用TClientDataSet.CommandText.结果
可分几段传回客户端,控制了流量,速度较快
 
这种问题,
还是那句话,看看COMMANDTEXT和DATAREQUEST的F1就行了.
上面有一位兄弟好象说反了一句话.
你可要小心呕.

另外借此多说一句话, 好象有一位老弟问数据访问控件的ON什么ERROR.
我建议他看帮助他说他英文不好否则就不来这儿了.
我想说的是学习编程, 英语是必过的一关.

大凡学习一开始是什么书都看如饥似渴/后来挑书看/再后来基本上是只看帮助或当东西看.

而老外的网站一般水平较高.
 
to yubo:你好象说反了吧,查询一条记录是用TClientDataSet.CommandText快一点
而查多条记录是用SQL的方法快一点吧。

还有没有好的建议
 
1.李維的書說Commandtext只是為了解決中客戶端clientdateset不可直接操作
  后台表的
2.Datarequest是過時的用法,李維提供一個分段取數據的方式.他的書上有
 
我认为delphi5以后用commandtext比较好
 
多人接受答案了。
 
后退
顶部