用DELPHI怎样才能操作一个XML文件把里面的数据对应的导入到Access啊,给个具体的方法,小弟新手。
解决方案 »
- 高分求助必须使用sendmessage在另一个程序坐标上模拟鼠标点击? 还有就是这个坐标怎么得来?
- Query.edit不起作用
- idhttp下载文件的长时间没反应的问题?
- 一个用堆栈解析表达式的问题,会者不难,但我不会,故在此请教!(100分哦)
- 高手请进,如何将一“文件”从客户端传到服务器端? up有分~不胜感激~
- 与Hook相关的问题!!!!!!!!!!!!!!!!!!
- 关于delphi+word的问题,分不够可以加
- 请问如何知道鼠标进行了单击、双击和右击操作。
- 在用printer打印时,如何得到一个字段中内容的长度(物理长度),如果长度大于表格,则改变字体?????????
- 关于字符串截取的问题
- 如何实现32字节整数的高字节与低字节之间转化?
- 如何逐个读取memo里的字符?
用这个挺容易的。
首先把XML做为一张表,然后用clientDateset连上XML,连上后就有记录数,然后循环
最后你可以通过adoQuery或是adotable插入到你的access数据库
ClientDateset.FileName:=XMLFileName;
ClientDateset.Active:=true;
if ClientDateset.RecordCount>0 then
begin
ClientDateset.First;
while not ClientDateset.Eof do
begin
with adoQuery do
begin
close;
sql.Clear;
sql.Text:='insert into smSetGame(GameID,vcCgamename,vcEgamename,vcCorpName,vcGameTypeName,dtSetdatetime,vcXMLSource,vcBuse) values (:GameID,:vcCgamename,:vcEgamename,:vcCorpName,:vcGameTypeName,:dtSetdatetime,:vcXMLSource,:vcBuse)';
parameters.ParamByName('GameID').Value:=ClientDateset.fieldbyname('GameID').AsString;
parameters.ParamByName('vcCgamename').Value:=ClientDateset.fieldbyname('Cname').AsString;
parameters.ParamByName('vcEgamename').Value:=ClientDateset.fieldbyname('Ename').AsString;
parameters.ParamByName('vcCorpName').Value:=ClientDateset.fieldbyname('CorpName').AsString;
parameters.ParamByName('vcGameTypeName').Value:=ClientDateset.fieldbyname('GameTypeName').AsString;
parameters.ParamByName('dtSetdatetime').Value:=strSaveDatetime;
parameters.ParamByName('vcXMLSource').Value:='XML文件';
parameters.ParamByName('vcBuse').Value:='禁止访问';
execsql;
end;
ClientDateset.next;
end;
end;