讨论一下关于ClientDataSet控件的动态查询问题,有经验的请进!(100分)

  • 主题发起人 ninidonghj
  • 开始时间
N

ninidonghj

Unregistered / Unconfirmed
GUEST, unregistred user!
clientDataSet控件,我用它进行动态查询,
每次查询后如果不执行clientdataset1.close,
那么下一次查询的结果值是上一次查询的,怎么解决啊。
如果每次都关闭,那么查询效率太差了!如果能提高这种查询效率啊!请多指教!
sqlstr:='select * from student where no=:eek:bj ';
For i:=0 to Nolist.Count-1 do
begin
clientdataset1.close;
clientdataset1.CommandText:=sqlstr;
clientdataset1.Params.ParamByName('obj').Value:=NoList.Strings);
clientdataset1.open;
end;
 
你的語句寫的真笑﹐你的主管允許你這樣寫嗎。
在我們公司我會讓他想清楚他要做什么。
你不能一次所有數據查詢出來﹐分條顯示嗎﹖
 
如果sql语句能完成的就不要用delphi来完成如果这样你的程序效率会很低的!
 
好像问题有点矛盾?又不想做查询操作又想得到数据!?
 
倒~~~ 你还是用in吧!
 
楼上大家注意了,可能是我说得不太明白吧,我写的这几条语句只是为了要说明一个问题,
这几条代码本身并不是一个实际要解决的问题,

我是说,我要获得的数据必须是通过这种循环,如果一条sql能解决我早就解决了,
我是问,为什么必须把clientdataset集关掉再打开进行查询才好用,否则不好用呢?
 
每次关闭ClientDataset,查询效率并不差,因为这是在内存中进行,所发出的SQL则在数据库
端进行。如果数据不多,用过ClientDataset的filter进行查询。

 
提前一下,继续讨论,我还没得到满意答案呢
 
你可以使用dataRequest(sqlstr)语句子;
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
919
DelphiTeacher的专栏
D
I
回复
0
查看
579
import
I
I
回复
0
查看
525
import
I
顶部