为什么我用的是execsql,还是提示"CommandText does not return a result set?"
代码如下:(点击保存按钮的函数实现)
procedure TForm5.Button5Click(Sender: TObject);
begin
  DataM.ADOQuery3.Connection:=DataM.ADOConnection1;
  with DataM.ADOQuery3 do
   begin
     Close;
     sql.Text:='insert into patients(pname,pid,remain) values('''+Form5.E_apn.Text+''','''+Form3.E_pid.Text+''','''+Form5.E_arm.Text+''')';
     ExecSQL;
     active:=true;
     showmessage('添加成功!');
     Form3.Show;
     Form5.Close;
     Form3.E_pid.SetFocus;
   end
end;
数据库做了一个patients表,没有设置主键,之前设置了,可老是提示不能插入重复键。
望指点,多谢!

解决方案 »

  1.   

    procedure TForm5.Button5Click(Sender: TObject);
    begin
      DataM.ADOQuery3.Connection:=DataM.ADOConnection1;
      with DataM.ADOQuery3 do
      begin
        Close;
        sql.Text:='insert into patients(pname,pid,remain) values('''+Form5.E_apn.Text+''','''+Form3.E_pid.Text+''','''+Form5.E_arm.Text+''')';
        ExecSQL;
        //active:=true;
        showmessage('添加成功!');
        Form3.Show;
        Form5.Close;
        Form3.E_pid.SetFocus;
      end
    end;
      

  2.   

    插入,删除语句用adocmmand控件吧