怎样实现XML与ACCESS之间数据互转? ( 积分: 100 )

D

dongliu

Unregistered / Unconfirmed
GUEST, unregistred user!
怎样实现XML与ACCESS之间数据互转?
我是想通过这个方式更新数据。或者有其他更好的办法吗?要考虑数据量比较大的情况,比如备注字段?
 
怎样实现XML与ACCESS之间数据互转?
我是想通过这个方式更新数据。或者有其他更好的办法吗?要考虑数据量比较大的情况,比如备注字段?
 
用ADO的话,可以看看这个的
uses
ComObj;
{
Example:
...
Memo1.Lines.Text:=RecordsetToXML(ADOQuery1.Recordset);
...
}
function RecordsetToXML(const Recordset: _Recordset): string;
var
RS: Variant;
Stream: TStringStream;
begin
Result := '';
if Recordset = nil then
Exit;
Stream := TStringStream.Create('');
try
RS := CreateOleObject('ADODB.Recordset');
RS := Recordset;
RS.Save(TStreamAdapter.Create(stream) as IUnknown, adPersistXML);
Stream.Position := 0;
Result := Stream.DataString;
finally
Stream.Free;
end;
end;

{
Example:
...
ADOQuery1.Recordset:=RecordsetFromXML(Memo1.Lines.Text);
...
}
function RecordsetFromXML(const XML: string): _Recordset;
var
RS: Variant;
Stream: TStringStream;
begin
Result := nil;
if XML = '' then
Exit;
try
Stream := TStringStream.Create(XML);
Stream.Position := 0;
RS := CreateOleObject('ADODB.Recordset');
RS.Open(TStreamAdapter.Create(Stream) as IUnknown);
Result := IUnknown(RS) as _Recordset;
finally
Stream.Free;
end;
end;
 
http://office.microsoft.com/zh-cn/assistance/HA010345602052.aspx

Access 允许选择使用来自许多外部源的数据。几乎所有外部应用程序的数据在转换以用于 Access 时,只要借助 XML 就会容易一些。您可以:
将 XML 数据导入到 Jet、Microsoft SQL Server 或 Microsoft SQL Server 2000 Desktop Engine(以前称为 MSDE)数据库。
将 XML 构架数据导入到 Jet、SQL Server 或 Microsoft SQL Server 2000 Desktop Engine 数据库。
使用 Extensible Stylesheet Language Transformation (XSLT) 文件,将数据转换为 Access 数据格式。
可以使用“导入”命令(在“文件”菜单中指向“获取外部数据”)将 XML 数据文件导入 Access。该命令显示“导入”对话框,以便用户可以选择 XML 文档和构架(构架描述的是数据的结构)。每次仅可以将一个文档导入到 Access 中。该数据必须是 Access 能识别的格式,要么是本机格式要么可以通过构架使用。请注意,导入 XML 数据时,不能选择 XML 文档的子集;只能导入整个文件。
通过选择“导入 XML”对话框中的选项,可以将本身的 XML 数据转换为特定的 Access 格式。也可以指定是覆盖任何现有的表还是追加到现有的数据中。
将数据和数据库对象导出到 XML 文件,是一种以在 Web 之间容易使用的格式移动和存储信息的方便方法。在 Access 中,可以将数据、构架(数据结构)或两者导出到 XML 文件中。可以:
将数据导出到 XML 文件,并且可以选用一种 XSLT 将数据转换为另一种格式。
使用 XML 架构标准 (XSD) 导出数据构架。
将窗体和报表中的数据导出到 XML 文件。
在导出过程中可以使用 Extensible Style Language (XSL) 文件,将数据转换为另一种表述格式。可以从 Microsoft Access 数据库 (.mdb) 导出表、查询和窗体或报表中的数据,也可以从 Microsoft Access 项目 (.adp) 中导出表、视图、存储过程、函数和窗体或报表中的数据。
 
用app2001的方法对更新一个指定的表管用,再深问一下。我需要把库中所有更新过的数据的数据导出来。然后自动更新另一用户的库。库结构都是相同的,就是用一个集中的用户数据去更新所有用户的。请继续指教啊。分数有的是
 

Similar threads

回复
0
查看
669
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部