一个关于操作XML文件时遇到奇怪问题

zjh527 2005-10-29 10:08:57
现在有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;
...全文
173 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
crystaltam 2005-11-01
  • 打赏
  • 举报
回复
不懂,关注~~
lovendII 2005-10-29
  • 打赏
  • 举报
回复
可能是这个xml文件有问题吧

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧