Question

Je travaille sur une fonctionnalité du produit qui permettra à l'utilisateur d'exporter des données d'une base de données SQL CE sur une copie de mon application et de les réimporter dans SQL CE à l'autre extrémité. Ces données ne sont pas des tables entières, mais le résultat de requêtes.

J'espérais tirer parti de la sérialisation intégrée basée sur XML de .net, comme dans DataTable.WriteXML. Toutefois, aucune des méthodes d’exécution de requêtes sur un SqlCeCommand n’offre un moyen évident de procéder à la sérialisation au format XML ou à l’extraction d’un DataTable, ce qui pourrait fournir la méthode.

Y at-il quelque chose qui me manque? Dois-je écrire mes propres méthodes de sérialisation-désérialisation ou existe-t-il un moyen intégré?

Était-ce utile?

La solution

En supposant que cmd soit votre SqlCeCommand ....

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

Autres conseils

Vous voulez créer un SqlCeDataAdapter et l'utiliser .Fill () pour un ensemble de données. Puis sérialisez le jeu de données entier via sa méthode .WriteXml () .

Je pense que vous pouvez récupérer les données dans un DataSet, appeler WriteXML dessus, puis à l'autre extrémité déclarer un nouveau DataSet et appeler ReadXML dessus.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top