首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

数据集中某字段包孕某字符串的判断

2013-06-26 
数据集中某字段包含某字符串的判断varcodeStr: Stringi:integerBeginif (Edit1.Text) thenbegini:0

数据集中某字段包含某字符串的判断


var
  codeStr: String;
  i:integer;
Begin

  if (Edit1.Text<>'') then
  begin
  i:=0;

  with WMG_DM.cha_adoquery do
      begin
         close;
         sql.Clear;
         sql.Add('SELECT cname FROM chaee');
         open;

         with WMG_DM.cha_adoquery do
         begin
           first;
           while not Eof do
           begin
            if pos(trim(edit5.text),fieldbyname('cname').AsString)>0 then
    {想实现表chaee中字段cname的每个记录与trim(edit5.text)进行比较,如果包含trim(edit5.text)字符串,则i+1}
             begin
             //>0为包含子串,=0为不包含子串
                  i:=i+1;
               edit7.text:=inttostr(i);
                next;
             end;
               if pos(trim(edit5.text),fieldbyname('cname').AsString)=0 then
             begin
             //>0为包含子串,=0为不包含子串
                showmessage('字段cname中不包含edit5.text所显示的字符串,请核查。');
                close;
             end;
         end;
end;
end;
end;

我写的貌似有问题。。。
数据集里面逐个比较字段cname(字符串型)是否包含字符串edit5.text内容,是不是不能这么写??
if pos(trim(edit5.text),fieldbyname('cname').AsString)>0 then
请高手们给改改,谢谢了 String Delphi
[解决办法]
with WMG_DM.cha_adoquery do 这第二个要取消。
[解决办法]
为何不直接用LIKE 查询出结果,反而要循环(效率太差)?
sql.Add('SELECT cname FROM chaee where cname like ''%'+trim(edit5.text)+'%''');

热点排行