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 57
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# 
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 ??
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 ??
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
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# 

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
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
27 mai 2007 à 21:47
y'a pas de quoi :)

Mx
MVP C# 
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..
Rejoignez-nous