DataSet, Mysql, recupération de valeur

Résolu
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
19 janvier 2011
- 27 mai 2007 à 20:06
mout551
Messages postés
7
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
4 juin 2007
- 1 juin 2007 à 17:58
bonjour a tous !!

je voudrais savoir comment on peut récupérer une valeur d'un DataSet, ou comment recuperer une valeur d'une requette MySql.

public
DataSet Compter(
String nomtable,
String champ){

int nombre;

// On ouvre la connexionConnection.Open();

// On définit la requête SELECT à exécuter

string MySQLCmd =
"SELECT count(" + champ +
") FROM " + nomtable;

// On associe cette requête à la propriété SelectCommand du MySqlDataAdapterMyAdapter.SelectCommand =

new
MySqlCommand(MySQLCmd, Connection);

// On remplit le dataset avec le résultat de la commande SELECTMyAdapter.Fill(ds);

// On ferme la connexion le plus tôt possibleConnection.Close();

return ds;

}

j'ai vue que l'on pouvai faire ds.Tables[0] mais sa m'envoi un truc qui na rien avoir. sinon on peut le mettre dans un datagrid, mais mois je voudrais le recupéré en string ou en entier, ou regarder dans le dataset la valeur,

Merci beaucoup

7 réponses

MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
56
27 mai 2007 à 20:52
Salut,

Pourquoi passer par un dataset/DataApter pour ca ?
Instancies ton SqlCommand, et appele sa méthode ExecuteScalar() qui te renvoies une valeurs unique sous forme d'object. Cette valeur est la premiere colonne de la premiere ligne de ta requete (qui est de toutes facons unique dans ton cas), a savoir le résultat du Count(). Tu n'as plus qu'a la caster en int :)
Mx
MVP C# 
3
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
19 janvier 2011

27 mai 2007 à 21:35
ok merci, il ne veut pas me le caster ??
0
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
19 janvier 2011

27 mai 2007 à 21:38
ok ça fonctionne, merci beaucoup, je peut utiliser la meme chose pour un SELECT * FROM matable , puis faire un ExecuteScalar()  dans une variable par exemple, mais pour que j'ai tout. le mettre dans un pour ou autre boucle ??
0
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
56
27 mai 2007 à 21:44
En fait la il faut utiliser la méthode ExecuteReader() qui te retourne un DataReader.

ensuite,

while(tonDataReader.Read())
{
   string champ1 = tonDataReader["nomDuChamp"].ToString();
}

Mx
MVP C# 
0

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

Posez votre question
gretata
Messages postés
172
Date d'inscription
lundi 22 mai 2006
Statut
Membre
Dernière intervention
19 janvier 2011

27 mai 2007 à 21:46
Merci beaucoup ceci me débloque vraiment, encore merci et bonne soirée
0
MorpionMx
Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Membre
Dernière intervention
30 octobre 2008
56
27 mai 2007 à 21:47
y'a pas de quoi :)

Mx
MVP C# 
0
mout551
Messages postés
7
Date d'inscription
lundi 2 avril 2007
Statut
Membre
Dernière intervention
4 juin 2007

1 juin 2007 à 17:58
Bonjour,

Auriez vous le code final corespondant à cette solution ?
Mon probleme provient de la valeur retourné sous forme d'objets.

Merci de votre aide..
0