2008-09-16 5 views
2

Я работаю над функцией продукта, которая позволит пользователю экспортировать данные из базы данных SQL CE на одну копию моего приложения и повторно импортировать ее в SQL CE на другом конце. Эти данные представляют собой не целые таблицы, а результат запросов.Сериализация данных SQL CE для XML

Я надеялся использовать встроенную сериализацию на основе XML, как в DataTable.WriteXML. Но ни один из методов выполнения запросов к SqlCeCommand не обеспечивает очевидный способ сериализации в XML или извлечения DataTable, который мог бы обеспечить этот метод.

Есть ли что-то, что мне не хватает? Должен ли я писать свои собственные методы сериализации-десериализации или есть встроенный способ.

ответ

4

Предполагая ЦМД ваш SqlCeCommand ....

using(var dr = cmd.ExecuteReader()) 
{ 
    DataSet ds = new DataSet(); 
    DataTable dt = ds.Tables.Add(); 
    dt.Load(dr); 
    ds.WriteXML(...); 
} 
0

Я думаю, вы могли бы получить данные в DataSet, называть WriteXML, а затем на другом конце объявить новый DataSet и вызвать на нем ReadXML.

1

Вы хотите создать SqlCeDataAdapter и использовать его .Fill() набор данных. Затем сериализуйте весь набор данных с помощью метода .WriteXml().