我正在开发一种产品功能,该功能允许用户在我的应用程序的一个副本上从 SQL CE 数据库中导出数据,并在另一端将其重新导入 SQL CE。这些数据不是整个表,而是查询的结果。
我曾希望利用 .net 内置的基于 XML 的序列化,如 DataTable.WriteXML。但是,针对 SqlCeCommand 执行查询的任何方法都没有提供序列化为 XML 或提取 DataTable 的明显方法,而后者可以提供该方法。
有什么我想念的吗?我是否必须编写自己的序列化反序列化方法或者是否有内置方法。
我正在开发一种产品功能,该功能允许用户在我的应用程序的一个副本上从 SQL CE 数据库中导出数据,并在另一端将其重新导入 SQL CE。这些数据不是整个表,而是查询的结果。
我曾希望利用 .net 内置的基于 XML 的序列化,如 DataTable.WriteXML。但是,针对 SqlCeCommand 执行查询的任何方法都没有提供序列化为 XML 或提取 DataTable 的明显方法,而后者可以提供该方法。
有什么我想念的吗?我是否必须编写自己的序列化反序列化方法或者是否有内置方法。
假设 cmd 是你的 SqlCeCommand....
using(var dr = cmd.ExecuteReader())
{
DataSet ds = new DataSet();
DataTable dt = ds.Tables.Add();
dt.Load(dr);
ds.WriteXML(...);
}
您想创建一个数据集SqlCeDataAdapter并使用它.Fill()。.WriteXml()然后通过它的方法序列化整个数据集。
我认为您可以将数据检索到 DataSet,在其上调用 WriteXML,然后在另一端声明一个新的 DataSet 并在其上调用 ReadXML。