什么做?
是不是用update? 这样还要一个个选择字段,不行
不是增加记录是修改记录
不用insert

解决方案 »

  1.   

    你试验一下,看行不行:var
      Buf: PChar;
    begin
      GetMem( Buf, Table1.RecordSize );
      // 定位一条记录
      StrCopy( Buf, Table1.ActiveBuffer );
      Table1.Next;
      Table1.Edit;
      StrCopy( Table1.ActiveBuffer, Buf );
      FreeMem( Buf );  // 其它操作及Post
      

  2.   

    myxfang(小方):
    我可以email给你,有源码,是针对DBGrid的。
      

  3.   

    不行啊,只能取一部分取出来的buf长度跟recordsize不一样
      

  4.   

    谢谢[email protected]我会再加分的
      

  5.   

    不好意思 97年的通用复制数据写法参考一下吧
    可做成通用的
    //复制查询数据
                 dm_jshpkchz.tbl_hpkchz.open;                     with dm_jshpkchz do
                          begin
                          qry_hpkchz.last;
                           while not qry_hpkchz.bof do
                            begin
                             tbl_hpkchz.Append;
                                 for i:=0  to dm_jshpkchz.qry_hpkchz.fieldcount-1 do
                                   begin
                                    tbl_hpkchz.fields[i].asstring:=qry_hpkchz.fields[i].asstring;
                                   end;
                              tbl_hpkchz.post;
                             qry_hpkchz.prior;
                            end;
                          end;  //dm
           dm_jshpkchz.qry_hpkchz.close;另外如果是大型数据库用就行了
    insert into table1(...) select (...) from table1 where 唯一条件即可
      

  6.   

    myxfang(小方)
    已经发了,查收。