请问:从当前的clientdataset里,查出某些符合条件的记录到新的clientdataset 或 adoquery,然后把查到的内容显示出来,让用户去选要

  • 主题发起人 主题发起人 亲亲草
  • 开始时间 开始时间

亲亲草

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:从当前的clientdataset里,查出某些符合条件的记录到新的clientdataset 或 adoquery,然后把查到的内容显示出来,让用户去选要哪一条记录,该怎么实现? ( 积分: 20 )<br />谢谢
 
为什么不用dbgrid之类的东东和当前的clientdataset绑定?为什么要放到新的clientdataset 里呢?
 
我在做一个针对当前clientdataset1数据(在dbgrideh1里显示)中某个字段的查询,如单位名称,我希望输入一个条件后,能够找到包含该条件的记录。最好是dbgrideh1里的显示不要有变化,只是记录跳到了符合该条件的第一条。但是用 GotoNearest总是在前面找最近的,代码:
CDS2.IndexFieldNames:='bmmc';
CDS2.setkey;
CDS2.FieldByName('bmmc').AsString:=L_hui;
CDS2.GotoNearest;
L_hui:=CDS2.Fields[1].asString;
CDS1.locate('bmbh',L_hui,[]);

如有值:
abcdef
tyuiop
erty
。。。。
我要找&quot;bc&quot;,会定位到 :erty
我希望定位到:abcdef 而不是 erty , 所以 GotoNearest 好象不符合要求。
然后我想是不是可以用 :CDS2.Filter:='bmmc like ''%L_hui%'''; 但是不知道该怎么写才对? [:)]
或者是把包含都显示出来,让用户自己选,呵呵,想想是不是要建立一个新的form啊?该怎么实现呢?
 
str;string;
str:='bmmc='+QutoStr(L_hui);
cds2.filter:=str;
cds2.filtered:=true;
 
==>str:='bmmc='+QutoStr(L_hui); 这里包含的话该怎么写?
str:='bmmc=%'+QutoStr(L_hui)+'%'; 吗?
 
CDS2.filtered:=false;
CDS2.Filter:='bmmc like '+'''%'+trim(L_hui)+'%'''
CDS2.filtered:=true;
是不是这样呢?
 
Filter_str:=Filter_str+' or '+cds_search.FieldDefs[l_zds].Name+' like ''%'+l_search+'%'''
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部