student表中有两个字段,分别是name和sex,现在要同时把Edit和DBEdit的值同时分别插入到name和sex字段中,该怎么办?
这样写不行:
procedure TForm1.Button2Click(Sender: TObject);
begin
  ADOQuery1.Insert;
  with Self.ADOQuery1 do
  begin
    Close;
    SQL.Clear;
    SQL.Add('insert into student([name]) values(:nm)');
    Parameters.ParamByName('nm').Value:=self.Edit1.Text;
    ExecSQL;
  end;
end;还有就是用数据感知控件,当ADOQuery的Active为True的时候,运行程序时,在感知控件中就会把数据显示出来,这样感觉不爽,有没有办法让它不显示出来?

解决方案 »

  1.   

    procedure TForm1.Button2Click(Sender: TObject);
    begin
      with ADOQuery1 do
      begin
        Close;
        SQL.Clear;
        SQL.Add('insert into student([name]) values(:nm,:#set)');
        Parameters.ParamByName('nm').Value:=Edit1.Text;
        parameters.parambyname('#set').value := dbedit1.text;
        ExecSQL;
      end;
    end;
      

  2.   

    关于你的第二个问题,在运行的时候,你在需要的时候用程序
    dbGrid.datasource := '';
    或者
    datasource1.dataset='';
    总之,断开他们之间的连接就可以了。
      

  3.   

    如果断开DataSet的话,我就不能输入数据进行查询了
      

  4.   

    你用一个EDIT接收你输入的参数不就可以了吗?