Вопрос

Я работаю над функцией продукта, которая позволит пользователю экспортировать данные из базы данных 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