DELPHI 将XML文件通过ClentDataSet存入数据库中

本文介绍了一种使用Delphi将XML文件中的数据批量导入数据库的方法。通过客户端数据集(ClientDataSet)来处理XML文档,实现了高效的数据迁移。该方法利用XMLDocument组件加载XML文件,并遍历节点将数据写入数据库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

DELPHI 将XML文件通过ClentDataSet存入数据库中

  if dlgOpen1.Execute then
    XMLDocument1.LoadFromFile(dlgOpen1.FileName);
  rootNode := XMLDocument1.DocumentElement;
  nodelist := rootNode.ChildNodes;  
crsZipCode.Open;
  try
    for I := 0 to nodelist.Count - 1 do
    begin
      crsZipCode.Append;
      for j := 0 to nodelist[i].ChildNodes.Count - 1 do
        crsZipCode.FieldValues[nodelist[i].ChildNodes[j].NodeName] :=
        nodelist[i].ChildNodes[j].NodeValue;
      crsZipCode.Post;
    end;
  except
    on e:Exception do
      DialogWarning(e.Message);
  end;
   crsZipCode.ApplyUpdates;
这种效率理论上来说是比从数据库中逐条插入效率高很多的。

  rootNode := XMLDocument1.DocumentElement;
  nodelist := rootNode.ChildNodes;
  for i:= 0 to rootNode.ChildNodes.Count do
  begin
    crsZipCode.CommandText := Format(sSql,
      [quotedstr(rootNode.ChildNodes[i].ChildNodes[0].NodeValue),
       quotedstr(rootNode.ChildNodes[i].ChildNodes[1].NodeValue),
       quotedstr(rootNode.ChildNodes[i].ChildNodes[2].NodeValue),
       quotedstr(rootNode.ChildNodes[i].ChildNodes[3].NodeValue)]);
    try
      crsZipCode.Execute;
    except
      DialogWarning('插入数据有误');
    end;
  end;         



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值