请问这条SQL 语句有错误吗? 为什么刚开始录入 '佳宝' 什么也查询不到,可录入 '夏利' 查询出来之后,再录入 '佳宝' 也能查询出来,不解 !!! 我是再ComboBox_chexing 的onchange 事件中写的语句。ADOQuery_Select 中的SQL语句如下:SELECT a.*
FROM (SELECT yphuaxuemingcheng,yppinming,ypjinjia,yppihao,yppinyinma,idno FROM Y_baseinfo
where (ypflag='是') and (yppihao like :yppihao) and (yppinyinma LIKE :pinyinma or
yppinming LIKE :yppinming or yphuaxuemingcheng like :ypbianma)
GROUP BY yphuaxuemingcheng,yppinming,ypjinjia,yppihao,yppinyinma,idno) a Onchange 代码如下:procedure TForm1.ComboBox_chexingChange(Sender: TObject);
begin
with ADOQuery_Select do
begin
Close;
Parameters.ParamByName('pinyinma').Value:='%'+Trim(Edit_yaopindaima.Text)+'%';
Parameters.ParamByName('yppinming').Value:='%'+Trim(Edit_yaopindaima.Text)+'%';
Parameters.ParamByName('ypbianma').Value:='%'+Trim(Edit_yaopindaima.Text)+'%';
Parameters.ParamByName('yppihao').Value:='%'+Trim(ComboBox_chexing.Text)+'%';
Open;
end;
FROM (SELECT yphuaxuemingcheng,yppinming,ypjinjia,yppihao,yppinyinma,idno FROM Y_baseinfo
where (ypflag='是') and (yppihao like :yppihao) and (yppinyinma LIKE :pinyinma or
yppinming LIKE :yppinming or yphuaxuemingcheng like :ypbianma)
GROUP BY yphuaxuemingcheng,yppinming,ypjinjia,yppihao,yppinyinma,idno) a Onchange 代码如下:procedure TForm1.ComboBox_chexingChange(Sender: TObject);
begin
with ADOQuery_Select do
begin
Close;
Parameters.ParamByName('pinyinma').Value:='%'+Trim(Edit_yaopindaima.Text)+'%';
Parameters.ParamByName('yppinming').Value:='%'+Trim(Edit_yaopindaima.Text)+'%';
Parameters.ParamByName('ypbianma').Value:='%'+Trim(Edit_yaopindaima.Text)+'%';
Parameters.ParamByName('yppihao').Value:='%'+Trim(ComboBox_chexing.Text)+'%';
Open;
end;
特别是用'%'作为参数传递时会出现莫名其妙的问题.
改成下面这种方面即可:ADOQuery_Select:='SELECT a.* FROM (SELECT yphuaxuemingcheng,yppinming,ypjinjia,yppihao,yppinyinma,idno FROM Y_baseinfo'
+'where (ypflag=''是'') and (yppihao like '
+quotedstr('%'+Trim(Edit_yaopindaima.Text)+'%')+..