begin
  with DataMoudle2 do
  begin
    table2.Active:=true;
    table2.Insert; ////////////////~~~~~~~~~~~~~~~~
    table2.FieldByName('cnum').AsString:=trim(edit1.Text);
    table2.FieldByName('ctype').AsString:=trim(edit2.Text);
    table2.FieldByName('creson').AsString:=trim(edit3.Text);
    table2.FieldByName('itime').AsDateTime:=StrToDateTime(trim(edit4.Text));//Now
    table2.FieldByName('rtime').AsDateTime:=StrToDateTime(trim(edit5.Text));
    table2.FieldByName('lcc').AsFloat:=StrToFloat(trim(edit6.Text));
    table2.FieldByName('cbasic').AsString:=trim(edit7.Text);
    table2.Post;
    table2.Active:=false;
    table1.Refresh;
  end;
  
end;

解决方案 »

  1.   

    table2.Active:=true;
    table2.Edit;
    or 
    table2.Append;
    or 
    table2.Insert;
      

  2.   

    begin
      with DataMoudle2 do
      begin
        table2.Active:=true;
        table2.Insert; //用于插入
        //table2.Edit;//用于修改
        table2.FieldByName('cnum').AsString:=trim(edit1.Text);
        table2.FieldByName('ctype').AsString:=trim(edit2.Text);
        table2.FieldByName('creson').AsString:=trim(edit3.Text);
        table2.FieldByName('itime').AsDateTime:=StrToDateTime(trim(edit4.Text));//Now
        table2.FieldByName('rtime').AsDateTime:=StrToDateTime(trim(edit5.Text));
        table2.FieldByName('lcc').AsFloat:=StrToFloat(trim(edit6.Text));
        table2.FieldByName('cbasic').AsString:=trim(edit7.Text);
        table2.Post;
        table2.Active:=false;
        table1.Refresh;
      end;
      
    end;