La requete a se rappeler [Résolu]

Signaler
Messages postés
117
Date d'inscription
dimanche 2 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
-
Messages postés
117
Date d'inscription
dimanche 2 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011
-
je travaille en ado.net , c # , je voudrais afficher le nombre de prof que j'ai , j'ai la table matiére , les champ sont : prof, matiére , efm, langue , et ceux qui qui est important de l'afficher dans un message box !!
select count(prof) from matiére ! et le message box affiche : le nombre de prof sont : (count) merci pour votre aide

6 réponses

Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Voilà à quoi pourrait ressembler ton bloc de code :
	// on crée la connexion et la requête
SqlConnection con = new SqlConnection("chaine2connexion");
SqlCommand com = con.CreateCommand();
com.CommandText = "SELECT COUNT(*) FROM matiere";

// on ouvre la connexion, on requête, on ferme la connexion
con.Open();
object ocount = com.ExecuteScalar();
con.Close();

// on affiche le résultat dans une MessageBox
MessageBox.Show(ocount.ToString(), "Résultat");


la méthode ExecuteScalar renvoie la première colonne de la première ligne du résultat de ta requête. ça tombe bien, ta requête (SELECT COUNT) ne renvoie qu'une ligne à une seule colonne ;)

A noter que cette fonction renvoie un object vu que le retour peut prendre toutes les formes possibles (int, string, byte[], DateTime ...). Dans ton cas tu pourrais caster ocount en int, mais si tu cherches juste à l'afficher ce n'est pas nécessaire.

Pour terminer je ferai également remarquer qu'aucune gestion des exceptions n'est fait dans mon code, à toi de faire les modif.
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Salut,

pourrais-tu mettre ton code ?
Là il est difficile de voir d'où vient l'erreur.
Messages postés
117
Date d'inscription
dimanche 2 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011

bon , voila le code , mais j'amerai qu'il me l'affiche dans un message box

SqlConnection con = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|gestion_materiel.mdf;Integrated Security=True;User Instance=True");
SqlDataAdapter adap = new SqlDataAdapter();
adap.SelectCommand = new SqlCommand("select count(prof) from matiére" + "'", Program.con);

adap.Fill(x);
dataGridView1.DataSource = x.Tables[0];
normalement j'affiche les donnée dans un datagrid , mais je veux faire ca dans un message box , comment récupérer la valeur de la requete ?? merci pour ton aide
Messages postés
117
Date d'inscription
dimanche 2 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011

Merci merci merci.....beaucoup pour ta bonne réponse ! :D
Messages postés
1540
Date d'inscription
lundi 26 mai 2003
Statut
Membre
Dernière intervention
1 août 2013
12
Si tu es satisfait de la réponse (teste avant, hein ^^) met le topic en "résolu", pour que :
- les autres personnes qui aident ne viennent pas pour rien,
- les personnes qui ont la même demande que toi sachent qu'ils trouveront une réponse ici ;)
Messages postés
117
Date d'inscription
dimanche 2 janvier 2011
Statut
Membre
Dernière intervention
25 mars 2011

Oui , t'a raison , c'est fait....le teste aussi : :D Merci..! :D