tempSql:='select * from glyb where glybh=:glybh and glymm=:glymm';
     with adoq do
     begin
          Close;
          SQL.Clear;
          SQL.Add(tempSql);
          Parameters.ParamByName('glybh').Value:=trim(edtGlybh.Text);
          Parameters.ParamByName('glymm').Value:=trim(edtGlymm.Text);
          Open;
     end;
错误:adoq: parameter 'glybh' not found;为什么找不到glybh这个参数,怎么解决?

解决方案 »

  1.   

    直接用索引吧!
    Parameters[0].Value := ……
    Parameters[1].Value := ……
      

  2.   

    是否和使用的数据库有关,我用的access
      

  3.   

    我已经尝试了,你的sql语句,没错的.
    查查别的原因吧.
      

  4.   

    而且,我在access,上和sql server 2000上都试了。
      

  5.   

    同意 gobiz(拔剑容易收剑难) 

    Parameters[0].value:=trim(edtGlybh.Text);
    Parameters[1].value:=trim(edtGlymm.Text);
      

  6.   

    写成如下试试
    with adoq do
         begin
              Close;
              Parameters.ParamByName('glybh').Value:=trim(edtGlybh.Text);
              Parameters.ParamByName('glymm').Value:=trim(edtGlymm.Text);          SQL.Clear;
              SQL.Add(tempSql);
                        Open;
         end;
      

  7.   

    我认为可能是打错字了
    可以这样试下
    tempSql:='select * from glyb where glybh=:glybh and glymm=:glymm';
         
    with adoq do
         begin
              Close;
              Parameters.ParamByName('glybh').Value:=trim(edtGlybh.Text);
              Parameters.ParamByName('glymm').Value:=trim(edtGlymm.Text);          SQL.Clear;
              SQL.Add(tempSql);
                        Open;
         end;