procedure TForm1.Button4Click(Sender: TObject);
var
  da : integer;
begin
da:=strtoint(edit1.Text);
DataModule2.Query1.close ;
DataModule2.Query1.sql.Clear;
DataModule2.Query1.sql.Add('Select * from jobs Where job_desc=:da');
DataModule2.Query1.ParamByName('da').AsInteger := da;  //用参数
DataModule2.Query1.Open;
DataModule2.Query1.ExecSQL ;
end;

解决方案 »

  1.   

    再说,open之后不必再DataModule2.Query1.ExecSQL ;这句不用了.
      

  2.   

    正确的语法:
    procedure TForm1.Button4Click(Sender: TObject);
    var
      da : integer;
    begin
    da:=strtoint(edit1.Text);
    with DataModule2.Query1 do
    begin
    close ;
    sql.Clear;
    sql.Add('Select * from jobs Where job_desc=:da');
    ParamByName('da').AsInteger := da;  //用参数
    Open;
    end;
    end;
      

  3.   

    procedure TForm1.Button4Click(Sender: TObject);
    begin
    //da:=strtoint(edit1.Text);
    DataModule2.Query1.close ;
    DataModule2.Query1.sql.Clear;
    DataModule2.Query1.sql.Add('Select * from jobs Where job_desc='+edit1.Text);
    DataModule2.Query1.Open;
    //DataModule2.Query1.ExecSQL ; 这句不要
    end;