如何解决呢
  这是连接语句
DBF_String=Provider=MSDASQL.1;Persist Security Info=False;Data Source=fydbf程序挺简单
    with dbf_inst do
     begin
      close;
      sql.text:='select * from ''c:\tt.dbf''';
      open;
     end;
 with dbf_inst do
  begin
   Edit;
   append;
   FieldByName('a').AsString:='3';
   FieldByName('b').AsString:='4';
   post;
  end;
不能post。我不能用insert,因为insert时,不处理的字段会变成null,但null是不允许出现的

解决方案 »

  1.   

    不用明顯的 post 方法
    with dbf_inst do
    begin
      Edit;
      Append;
      FieldByName('a').AsString:='3';
      FieldByName('b').AsString:='4';
      First;
    end;
    在指針移開時讓它自動提交。 試一下吧。
      

  2.   

    其实现在做数据库程序使用Post这样的语句好象就是容易出错,
    我看最好还是利用ADO的事务处理比较好
    直接发送SQL语句
      

  3.   

    sql.text:='select * from ''c:\tt.dbf''';对吗?
    open后dbf_inst真的由数据集吗?
      

  4.   

    这跟c:\tt.dbf有无数据有什么关系?程序是追加模式append