procedure TForm1.Button1Click(Sender: TObject);
 var
 sqlwhere : string;//定义一个变量
begin
    sqlwhere:=edit1.Text;   //给这个变量付值
    adoquery1.close;
    adoquery1.sql.clear;
    adoquery1.sql.add('select id,b01 from b where id=sqlwhere');//问题在这句sql里。
    adoquery1.open;
    dbgrid1.datasource.DataSet :=adoquery1;
end;

解决方案 »

  1.   

    >>adoquery1.sql.add('select id,b01 from b where id=sqlwhere');//问题在这句sql
    adoquery1.sql.add('select id,b01 from b where id = ' + sqlwhere);
    当然, 也有其它方法!
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
     var
     sqlwhere : string;
     sqlstr :string;//
    begin
        sqlwhere:=' where id='+edit1.Text;  
        sqlstr:='select id,b01 from b'+ sqlwhere ;
        adoquery1.close;
        adoquery1.sql.clear;
        adoquery1.sql.add(sqlstr);
        adoquery1.open;
        dbgrid1.datasource.DataSet :=adoquery1;    DBGrid1.Columns[0].Width := 50;
        DBGrid1.Columns[1].Width := 100;
    end;
      

  3.   

    adoquery1.sql.add('select id,b01 from b where id=s'+chr(39)+qlwhere+chr(39));//
      

  4.   

    adoquery1.sql.add('select id,b01 from b where id=:id);//使用存储过程
      

  5.   

    作如下改动:
    adoquery1.sql.add('select id,b01 from b where id='''+sqlwhere+'''');
      

  6.   

    菜鸟问个问题,我按上面的程序试了,但是提示说[Error] sql2.pas(55): Undeclared identifier: 'CreateOleObject',不知道要加什么说明,请各位指点