Datarow typage des donnée

[Résolu]
Signaler
Messages postés
51
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
25 août 2006
-
Messages postés
51
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
25 août 2006
-
Bonjour ,



Je me pose la question suivante. je charge un dataset contenant
des valeurs typé de type int, boolean ... via une classe genéré
par un shéma xsd.



Lorsqueje veux lire une ligne de ce dataset j'aimerais qu'il me renvoi
la valeur dans le type ou il a été enregistré de base et non pas
seulement la valeur en string ou en object.



Je procede de la maniere suivante pour lire la ligne de mon dataset :



//je charge ma classe que le schema xsd a generé.

localconfig lc = new localconfig();

//je charge l'XML

lc.ReadXml(pathfile);



//je chope la ligne qu im'interresse

DataRow SettingsRow = lc.settings.Rows[0];





// je procede de cette maniere pour transformer la valeur en bool

bool s=
bool.Parse(SettingsRow["savebool",DataRowVersion.Current]); // ça
marche bien mais j'aimereais utiliser une autre









// methode



bool s2=
bool.Parse(SettingsRow["savebool",DataRowVersion.Current]);
// erreur il me dit qu'il ne peut pas me transformer









//
string en bool ça c'est normal





bool s5=
SettingsRow["savechat",DataRowVersion.Current];
//c'est une valeur boolean et il me sort pas possible de convertir








//
un object en bool





J'ai vu que l'on pouvait utiliser un itemArray et je n'y arrive pas non plus



Je procede de cette maniere :

object[] array = SettingsRow.ItemArray;

bool s2=array[0]; //c'est une valeur boolean et il me sort pas possible de convertir un object en bool aussi



ci vous pouviez m'eclaircir les idées a ce sujet ...



Merci

5 réponses

Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
hum...

bool s5= SettingsRow.savebool;


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
normalement, avec un dataset typé on a pas ce problème... c'est justement pour cela qu'on l'appelle typé.

es-tu sûr d'avoir renseigné correctement els types ?


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
37
je viens de comprendre... il faut procéder ainsi :

localconfig.SettingsRow row = lc.settings.Rows[0];

bool s = row.saveBool;


Sébastien FERRAND (
blog)
[Microsoft MVP Visual C#]
Messages postés
51
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
25 août 2006

je viens d'effectuer la modif



localconfig lc = new localconfig();

lc.ReadXml(pathfile);

localconfig.settingsRow SettingsRow
=(localconfig.settingsRow)lc.settings.Rows[0]; // j'ai du casté la row
dans le bont type sinon









//il me sortait une erreur du type
impossible d









//convertir Row en settingsRow


bool s5=
SettingsRow["savebool",DataRowVersion.Current]; // et j'ai
toujours le meme erreurs impossible convertir object en








//bool




tous les champs sont typé j'ai utilisé un schema de donnée xsd.
Messages postés
51
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
25 août 2006

oupsssssssssssss effectivement,



c'est parfait ça marche j'ai eu un peu de mal encore merci !!!!!!!!!!!!!!!