Domanda

Sto lavorando a una funzionalità del prodotto che consentirà all'utente di esportare dati da un database SQL CE su una copia della mia applicazione e reimportarli in SQL CE dall'altra parte.Questi dati non sono tabelle intere, ma il risultato di query.

Speravo di sfruttare la serializzazione integrata basata su XML di .net come in DataTable.WriteXML.Tuttavia, nessuno dei metodi per eseguire query su un SqlCeCommand fornisce un modo ovvio per serializzare in XML o estrarre un DataTable, che potrebbe fornire il metodo.

C'è qualcosa che mi sfugge?Devo scrivere i miei metodi di serializzazione-deserializzazione o esiste un modo integrato.

È stato utile?

Soluzione

Supponendo che cmd sia il tuo SqlCeCommand....

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

Altri suggerimenti

Vuoi creare un file SqlCeDataAdapter e usarlo .Fill() un set di dati.Quindi serializza l'intero set di dati tramite it's .WriteXml() metodo.

Penserei che potresti recuperare i dati in un DataSet, chiamare WriteXML su di esso e poi dall'altra parte dichiarare un nuovo DataSet e chiamare ReadXML su di esso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top