Datareader et dataset [Résolu]

Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
- - Dernière réponse : baynas
Messages postés
3
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
30 août 2008
- 30 août 2008 à 20:40
Bonjour,

Je bosse sous visual studio 2003 c# v1.1

J'extrais des informations d'un fichier excel que je place dans un datagrid via un oledbcommand et un oleDbdatareader ca fonctionne parfaitement !

Mais maintenant j'aimerais sauve ce contenu dans un fichier xml et je me suis dit, tiens pourquoi ne pas passer par un dataset et la methode writeXml !

Mais ...mais je cale comment placer mon datareader dans un dataset ?
Y'a t il une methode existante du framework qui permet cela ?

Je vous remercie
Christophe
Un bouillonnais
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
41
3
Merci
Tu peux tout a fait te connecter a ton fichier via OleDbConnection + OleDbDataAdapter
Voici comment faire :

<hr />string connectionString =
@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=TonFichier.xls;Extended Properties=""Excel 8.0;HDR=YES""";

OleDbConnection connex =
new
OleDbConnection(connectionString);

OleDbDataAdapter adapter =
new
OleDbDataAdapter(
"SELECT * from [Sheet1$]", connex);

DataSet ds =
new
DataSet();
adapter.Fill(ds);
<hr />
(sans oublier bien sur le Dispose de ta connexion, la gestion des erreurs, ...)

Et ensuite, tu n'as plus qu'a :
-Binder un DataTable de ton Dataset a ton Datagrid
-Sauver ton fichier xml avec la méthode WriteXml de ton Dataset

Mx
MVP C# 

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 202 internautes nous ont dit merci ce mois-ci

Commenter la réponse de MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
41
0
Merci
Salut,

En fait c'est soi tu passe par un DataReader, soit par un Dataset, mais tu ne peux pas "mettre" un DataReader dans un Dataset. (DataReader = mode connecté, DataSet = Mode déconnecté). Le seul moyen de le faire serait de boucler sur ton reader pour construire un DataTable, que tu mettrais dans ton Dataset ensuite, mais ce serait stupide

Tu ne peux pas utiliser DataAdapter + Dataset plutot qu'un DataReader dans ton application ?

Mx
MVP C# 
Commenter la réponse de MorpionMx
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
0
Merci
salut salut,


Oui j'y avais (sqlDataadapter + dataset ) pense mais je pense que ce n'est pas possible car pour me connecter au fichier excel je passe par une oledbconnection !? donc je suis reduit a utiliser les objects datareader et donc le mode connecte !?


je me trompe !?


Bon comme tu dis, je peux tres bien construire un dataTable et boucle sur mon reader et ensuite ajouter ma table a mon dataset ! Pour ensuite creer mon fichier xml !


Je te remercie pour les infos


Christophe


Un bouillonnais
Commenter la réponse de cs_jimmy69
Messages postés
787
Date d'inscription
dimanche 22 décembre 2002
Statut
Membre
Dernière intervention
27 novembre 2008
0
Merci
Genial


Merci beaucoup


Christophe
Commenter la réponse de cs_jimmy69
Messages postés
3
Date d'inscription
mercredi 26 mars 2008
Statut
Membre
Dernière intervention
30 août 2008
0
Merci
Salut,
je me demande s'il ya une methode qui me permet de convertir une dataset en type string et vice versa 
merci d'avance pour vos aides 
Commenter la réponse de baynas