程序在各分公司用ADOQUERY.SAVETOFILE('QQQ')将数据保存,然后到总公司导入,用ADOQUERY.loadfromfile('QQQ'),然后用adoquery.post,但数据不能保存,从DBGRID中看是有数据的,怎样才能保存?谢谢

解决方案 »

  1.   

    用文件流。
    VAR FS:TFILESTREAM;
    BEGIN
     ...
     FS := TFILESTREAM.CREATE('QQQ',FMOPEN); //OPEN DATA
     ADOQUERY.LOADFROMSTREAD(FS);
     FS.FREE;
     
     FS := TFILESTREAM.CREATE('QQQ',FMCREATE); //CREATE DATA
     ADOQUERY.SAVETOSTREAD(FS);
     FS.FREE;
    END;
      

  2.   

    BEFORE OPEN ,USE:
     if not FileExists('QQQ') THEN EXIT;我在用LOADFROMFILE时也经常是有问题,但是使用TFILESTREAM后,就OK了。
    你可以试试。
      

  3.   

    但数据不能保存,从DBGRID中看是有数据的,怎样才能保存?
    =======================================================是不是因为QQQ文件已经存在,或者是只读的原因哦?
      

  4.   

    我的意思是从文件读到ADOQUERY中后,用ADOQUERY.POST将数据保存到数据库表中