我从数据库中A表循环读一行行信息到文本文件B.TXT 如果中途异常退出,那么再执行这个动作的时候,前面已经存在B.TXT中的A表中的内容还会在存一次 这个问题应该怎么解决呢  往文本文件里写的动作实在读数据库的循环中完成的 ?

解决方案 »

  1.   

    用dataset一次读出A表中所有记录,然后再写入文件.
      

  2.   

    哪要看你是用什么方式导出的,
    如果是累计导出,判断一下b.txt已经存在的记录最大id,然后只导出大于id的记录;
    如果是全部导出,先删除b.txt,重新建b.txt,然后写入记录。
      

  3.   

    试试这个,用ADOConnection连数据库
    try
    ADOConnection.Execute('Select * Into [Text;Database=c:\temp].B.txt From A where 条件');
    except
       on e:exception do
     ADOConnection.Execute('delte [Text;Database=c:\temp].B.txt ');
      

  4.   

    先导出到一个 STRINGLIST ,导出成功后 SAVETOFILE 就可以了。
    或者在下次导出前先删除或清空源文件的内容