ADOQUERY无法查询数据库数据(100分)

  • 主题发起人 主题发起人 fishjzh
  • 开始时间 开始时间
F

fishjzh

Unregistered / Unconfirmed
GUEST, unregistred user!
用ADOQUERY做了一个数据库查询,语句如下:
AdoQuery1.Active:=False;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add('select bm,mc from yblb where bm like :bm and mc like :mc order by bm');
AdoQuery1.Parameters.ParamByName('bm').Value:='%'+Edit1.Text+'%';
AdoQuery1.Parameters.ParamByName('mc').Value:='%'+Edit2.Text+'%';
Adoquery1.Active:=True;
AdoQuery1.ExecSql;
当EDIT1.TEXT,EDIT2.TEXT都为空时对数据库数据做全查询,即所有数据。可是我发现如果BM或MC为空时数据则无法通过该语句查询,这是为什么?该如何解决?
 
'%'+Edit1.Text+'%'把这个变成quotedstr('%'+trim(Edit1.Text)+'%')
 
你可以把空的数据去掉吧 ,
AdoQuery1.SQL.Add('select bm,mc from yblb where (not (mc is null ))and(not (bm is null ))and( bm like :bm) and (mc like :mc) order by bm');
 
后退
顶部