关于xml的转换问题,请教高高手.(34分)

  • 主题发起人 主题发起人 haofang
  • 开始时间 开始时间
H

haofang

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将一个数据库文件如pardox表转换为xml文件.
急用,我只有35分了,给你34分把.
 
请斑竹帮我.
 
SaveToFile('filename',pfXML)
 
用 TTable 连接再用上面的方法。
 
只能用ADO连接数据库,ado支持将数据库文件转为XML文件
比如:adoquery1.SaveToFile('filename',pfXML);
adotable1.SaveToFile('filename',pfXML);
 
多谢各位!!!
那么如何从xml文件转换成数据库文件呢?
马上给分
 
好象table没有savetofile方法.
ado有.
up
 
各位别光看
help
 
这样的---ttable、tquery都没有savetofile,而tadotable、tadoquery有的。
保存成XML:
with ADOQuery1do
begin
Close;
SQL.Clear;
SQL.Add(' select * from '+ComboBox1.Text);
Open;
SaveToFile('software.xml',pfXML);//--------->可以指定保存路径
end;

从XML读取:
ADOQuery2.Close;
ADOQuery2.LoadFromFile('software.xml');//--------->可以指定读取路径
ADOQuery2.Open;

注意:这个ADOQuery2不要进行任何设置,
只要连上DataSource即可。这样就能在DBGrid中看到XML中数据。
 
在线呼叫说不清楚,我在这里说一下我的想法:
接上边说:
当ADOQuery2.OPen后,可以把ADOQuery2中的记录做循环插入到你所要导入的数据库中。
因为您导入导出的数据库结构是相同的,所以可以这样做----
如:
ADOQuery2.First;
while not ADOQuery2.Eofdo
begin
ADOTable1.Insert;
//--------------注意,ADOTable1链接你要导入的那个数据库表
ADOTable1.FieldByName('A').Value:=ADOQuery2.FieldByName('A').Value;//A字段
ADOTable1.FieldByName('B').Value:=ADOQuery2.FieldByName('B').Value;//B字段
..........
ADOTable.Post;
ADOQuery2.Next;
end;

大概XML还有另外其他的用法,但我只会这样用了。但肯定是有效的(我的表结构比较简单,数据量也小)
[:)]
 
这么简单,赶快给分啊
随便用任何一个数据集组件(TTable,TQuery,TAdoQuery,等等),设置好数据访问连接,
再用TProvider组件设置好与数据集组件的连接,再放一个ClientDataSet组件,设置好
与TProvider组件的连接,然后调用ClientDataSet的open方法,可以取得数据到ClientDataSet里,
然后再调用ClientDataSet的SaveToFile方法,可以把数据集存为cds(二进制文件)或
xml文件,如果你要求的Xml格式与ClientDataSet存的xml格式不一样,可以用xtr文件(delphi6以
上版本提供xml数据变换工具)定义转换成别的xml格式,delphi7在demo目录下有转换的例子,
不过就你的需求根本不需要转换,直接ClientDataSet1.SaveToFile('c:/a.xml',dfXML);就可以了
 
to :yunye
你来晚了,刚分;
 
多人接受答案了。
 
后退
顶部