我正在开发一项产品功能,该功能允许用户从应用程序一个副本上的 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。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top