对应的是SQL中的动态查询,照你上边写的可能就是:
Adoquery1.SQL.Text := 'select * from table1 where fld1 = :BM';//BM就是参数,可以在执行前指定它的值:
Adoquery1.Parameters.ParamByName('BM').value := 'sss';
Adoquery1.Open;

解决方案 »

  1.   

    下面是一个使用参数的例子
    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select * from table1 where name=:BM');
    adoquery1.parambyaname('BM'):=edit1.text;
    adoquery1.open;
      

  2.   

    对不起,刚adoquery1.parambyaname('BM'):=edit1.text;写错了,
    应该是adoquery1.parambyname('BM'):=edit1.text;
      

  3.   

    with Adoquery1 do
    begin
        Close;
        Sql.Text :=' Select * from TableName where Filed1=:pary';  //pary这里是个参数;
        Parameters.ParamByName('BM').value:='123';
        open;
    end;上面的语句相当于:
        Select * from Tablename Where Filed1='123'
      

  4.   

    with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('Delete from cgshddetail where dh=:dh');
        //设置参数‘dh’;
        Parameters.ParamByName('dh').Value:=trim(dh.Caption);
        //‘dh’的值;
        //等同于:sql.add('delete from cgshddetail where dh='''+trim   
    //(dh.caption)+'''');
        ExecSQL;
        Close;
        myAppendDetail(ADOQuery1);
      end
      

  5.   

    对不起,刚adoquery1.parambyaname('BM'):=edit1.text;写错了,
    应该是adoquery1.parambyname('BM').asstring:=edit1.text;
      

  6.   

    如果有这样的语句:'select * from some_table where id=:id'Adoquery1.Parameters.ParamByName('id ').value:=10;使得 'select * from some_table where id=10'
      

  7.   

    楼上的语句好象有点问题:adoquery1.parambyaname('BM'):=edit1.text;
    应该是:adoquery1.parambyaname('BM').asstring:=edit1.text;关于你的问题解释如下:Adoquery1.Parameters.ParamByName('BM').value
    Adoquery1不用说了
    Parameters参数的意思
    ParamByName('BM')指出是哪个参数这一句说明是名字叫BM的参数
    value是参数的值