源码在这里,很简单的啊!!
  If Panel17.DBCom.Text<>'' Then
  Begin
   If Panel11.DBedit.Text='' then
    Begin
     ShowMessage('工号不能为空');
     Exit;
    End;
   If Panel12.DBedit.Text='' then
    Begin
     Showmessage('姓名不能为空');
     Exit;
    End;
   LoadFromPicture;
   Table1.FieldByName('Bakid').asinteger:=StrtoInt(panel11.DBedit.Text);
   Try
   Table1.Post;//添加保存;
   except
    Showmessage('数据库错误!');
   End;
在post这一句出错!

解决方案 »

  1.   

    with CTIT do begin
         table1.Close;
         table1.TableName:='INFO_TAB';
         table1.open;
         table1.Append;
         table1.fieldbyname('name').asstring := edit4.text;
         if edit4.text = '' then
         if MessageDlg('您未填写学生姓名,数据库可能会出现错误'+#10#13+'您确认要保存吗?',
            mtConfirmation, [mbYes, mbNo], 0) = mrNo  then
            exit
         else begin
           table1.Post;
    end;什么
         table1.Close;
         table1.TableName:='INFO_TAB';
         table1.open;
         table1.Append;
    这些步骤都做了吗?
      

  2.   

    在Table1.FieldByName('Bakid').asinteger:=StrtoInt(panel11.DBedit.Text); 
    之前加上table1.edit;
      

  3.   

    edit or insetr or append;LoadFromPicture; //前边是什么/
      

  4.   

    不好意思,这个Table1其实是Tquery对象啊!!要post的字段有19个啊!不知会不会太多字段呢???
      

  5.   

    tquery为非活动数据集,你把requestlive设置为true就可以了!
      

  6.   

    tquery好像没这个requestlive 的属性啊!
      

  7.   

    如果你是新增的记录,那赋值前应该先Table1.Insert的呀!
    如果是修改记录的值,应该先Table1.Edit一下。
      

  8.   

    可能是数据库锁定了,ACCESS是不能同步写入