procedure TForm1.DBGrid1EditButtonClick(Sender: TObject);
begin
  form2.ShowModal;
  if form2.ModalResult =mrok then
  begin
    if form2.ComboBox1.Text <> '' then
    begin
    table1.open;     
    table1.Edit;
    table1.FieldByName('ZHMC').AsString :=form2.ComboBox1.Text;
    table1.Post;
    dbgrid1.Refresh ;
    end;
  end;
end;

解决方案 »

  1.   

    加上一句if (Table1.state=dsEdit) or (Table1.state=dsInsert)
                  then Table1.post;
      

  2.   

    确定DATASET可以修改,确定你的库用table连接没有问题吗
      

  3.   

    我又试了下,还是不行,下面是FORM2窗体中确认按钮的一端程序,将FORM2中COMBOBOX1中的内容赋给FORM1中的字段
    procedure TForm2.BitBtn1Click(Sender: TObject);
    begin
      form1.Table1.FieldByName('ZHMC').AsString :=combobox1.Text ; 
    end;
    执行时错误行指向这段,各位看看是不是问题出现在这里,谢谢回复!
      

  4.   

    if not (Table1.state=dsEdit) then
      begin
       Table1.edit;
       table1.FieldByName('ZHMC').AsString :=form2.ComboBox1.Text;
       table1.Post;
      end;