现在有7、8个XML文件,每个文件中的数据大约在1---5条(测试数据),问题是我用下面方法往数据库中写数据,但是总有一个xml文件的数据写不到数据库中,而且每次都是这个文件。其它XML文件没有出现过这种情况。这几个XML文件都是用adoquery.savetoFile()生成的。其它XML从来就没有出现过这种情况。有谁遇到过?知道这是怎么回事吗?function TDMF.saveTable(Filename: String;tablename:String): Boolean;
var
  squery:TADOQuery;
  I:Integer;
  insertHead:String;
  SQL:String;
begin
  squery:=TADOQuery.Create(self);
  squery.LoadFromFile(Filename);  insertHead:='insert into '+Tablename+'(';
  for I:=0 to squery.FieldCount-1 do
  begin
      insertHead:=insertHead+squery.Fields[i].FieldName;
      if i<squery.FieldCount-1 then
        insertHead:=insertHead+','
      else
        insertHead:=insertHead+') values(';
  end;//for  execsql('truncate table '+Tablename);
  squery.First;      //这句注释掉和不注释掉每有什么区别  while not squery.Eof do   //明明XML文件里有数据可到这他总是.Eof=True
  begin
    SQL:=SQL+insertHead;
    for I:=0 to squery.FieldCount-1 do
    begin
         if squery.Fields[i].Value=Null then
            SQL:=SQL+'null'
         else
            sql:=sql+''''+AnsiReplaceStr(squery.Fields[i].AsString,'''','''''')+'''';         if i<squery.FieldCount-1 then
            sql:=sql+','
         else
            sql:=sql+')';
         Application.ProcessMessages;
    end;//for    execsql(sql);
    sql:='';
    squery.Next;  end;//while  squery.Free;
end;