Dataset ok ? datagrid vide :(

cs_visioline Messages postés 8 Date d'inscription mardi 7 février 2006 Statut Membre Dernière intervention 26 septembre 2006 - 23 juil. 2006 à 14:19
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 - 23 juil. 2006 à 19:37
Bonjour tout le monde c'est encore le casse c... oui oui il en faut bien un


J'explique mon soucis (je me casse la tête depuis 3 jours dessus !), je voudrais afficher les valeurs des champs nomet adresse à partir de la table clients qui vient de la base de données visiobd dans un datagrid, apparemment la connexion mysql se fait sans problème, je pense que le dataset est également ok mais je me retrouve avec un datagrid vide :(

voilà un extrait de mon code (de barbare ? )  :

string MyConstring =
"Server=127.0.0.1;UserID=root;Password=;Database=visiobd";



MySqlConnection
con =

new



MySqlConnection
(MyConstring);




try



{


con.Open();







String
com =

"SELECT * FROM clients"
;


MySqlDataAdapter
MyAdapter =

new



MySqlDataAdapter
(

"Select * from clients"
, con);MyAdapter.SelectCommand =


new



MySqlCommand
(com, con);


DataSet
ds =

new



DataSet
(

"clients"
);MyAdapter.Fill(ds,


"clients"
);


this
.dataGridView1.DataSource = ds.Tables[0];


this
.dataGridView1.Refresh();


test1.Text = (




"num"
);con.Close();

}


catch
(

MySqlException
Ex){


MessageBox
.Show(

"Erreur SQL:\n"
+ Ex.Message,

"Erreur"
,

MessageBoxButtons
.OK,

MessageBoxIcon
.Error);}

voilà après ça j'espère ne plus vous déranger avant longtemps !

Merci d'avance !!

6 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 juil. 2006 à 16:01
Salut

Et en placant un espion sur ton Dataset, tu arrives a voir s'il est correctement rempli ou pas ?

Au fait : Tu n'as pas besoin de specifier la propriété SelectCommand de ton Adapter, sachant que tu spécifies deja ta requete et ta connexion quand tu l'instancies.
Et sinon, ferme ta connexion dans une clause finally.
Mx
MVP C# 
0
cs_visioline Messages postés 8 Date d'inscription mardi 7 février 2006 Statut Membre Dernière intervention 26 septembre 2006
23 juil. 2006 à 16:05
euh étant totalement débutant dans la matière comment place t'on un espion dans le dataset ?  merci pour tes conseils
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 juil. 2006 à 16:31
En fait, met un point d'arret (touche F9) sur la ligne suivant le Fill pour que l'execution de ton programme s'arrete a cette instruction.
A partir de la, avec ton curseur, pointe sur 'ds', tu devrais pouvoir naviguer dans toutes les propriétés de ton Dataset. Si tu cliques sur le petit icone avec une loupe, tu dois pouvoir voir toutes les données contenues dedans.
Mx
MVP C# 
0
cs_visioline Messages postés 8 Date d'inscription mardi 7 février 2006 Statut Membre Dernière intervention 26 septembre 2006
23 juil. 2006 à 19:00
hmmmmmmmmm mon dataset est également vide

pourtant j'ai bien des enregistrements dans la table clients :/

merci pour le point d'arrêt je dormirais moins bête ce soir

une idée le pourquoi du comment mon dataset est vide ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 juil. 2006 à 19:27
Pourtant ca me semble bon
Je teste et j'essaie de te repondre
Mx
MVP C# 
0
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
23 juil. 2006 à 19:37
Je viens de tester avec le provider Mysql, et ca fonctionne sans souci.
Donc c'est bizarre quand meme que tu n'aies pas tes données :/

<hr />

string myConstring =
"Server=127.0.0.1;UserID=root;Password=;Database=visiobd";

MySqlConnection con =
new
MySqlConnection(myConstring);

try
{

   MySqlDataAdapter myAdapter =
new
MySqlDataAdapter(
"Select * from clients", con);

   DataSet ds =
new
DataSet(
"clients");
   myAdapter.Fill(ds,
"clients");

   this.dataGridView1.DataSource = ds.Tables[0];

   //this.dataGridView1.Refresh();
   test1.Text =
"num";
}

catch (
MySqlException Ex)
{

   MessageBox.Show(
"Erreur SQL:\n" + Ex.Message,
"Erreur",
MessageBoxButtons.OK,
MessageBoxIcon.Error);
}
<hr />
A savoir que je n'ai pas ouvert ni fermé la connexion, car l'adapter s'en charge tout seul comme un grand. (par contre, si tu l'ouvre explicitement, il faudra la fermer explicitement aussi)

Mx
MVP C# 
0
Rejoignez-nous