Récupération de plusieurs données Sql dans un tabeau [C#] [Résolu]

Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
- - Dernière réponse : therainbow3
Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
- 29 juil. 2008 à 13:35
Bonjour,
Pour le besoin d'une application j'ai besoin de récupérer plusieurs valeurs dans une base de données SQL via une requête "SELECT ALL" je sais comment récupérer une seule donnée ("SELCT") via ExecuteScalar() mais je ne sais pas comment récupérer plusieurs données d'un coup dans un string.
Si quelqu'un pouvait m'aider je l'en remercie d'avance.
Bonne journée.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
3
Merci
J'ai réglé mon problème en récupérant séparément les deux tableaux que l'on avait.
Merci nhervagault et Liverion.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 5994 internautes nous ont dit merci ce mois-ci

Commenter la réponse de therainbow3
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
23
0
Merci
Bonjour,

Regardes du coté de executeReader
http://msdn.microsoft.com/fr-fr/library/haa3afyz(VS.80).aspx

SQL = " select nom, prenom from persone"

cmd.CommandText = SQL;
reader = cmd.ExecuteReader();
listPersonne = new List();

//Manque ouverture connexion
while (reader.Read())
{
    Personne p = new Personne(reader["nom"].ToString(),reader["Prenom"]).ToString());
    listPersonne.add(p);
}
//Manque fermeture connexion dans le finally

return p;

Voila
Commenter la réponse de nhervagault
Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
0
Merci
J'obtiens une erreur près de "=" au niveau de reader = cmd.ExecuteReader()
Commenter la réponse de therainbow3
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
23
0
Merci
NB : Ce code n'est pas compilable en l'état.
Il était juste la pour te donner la structure, il y a au moins 300 codes sur le site qui te donneront la meme structure.

Il suffit de chercher un peu.

Et tu pourrais indiquer ce contenu l'erreur ca éviterais trop de blabla.

Bon courage pour la suite
Commenter la réponse de nhervagault
Messages postés
50
Date d'inscription
vendredi 14 mars 2008
Statut
Membre
Dernière intervention
25 mai 2010
0
Merci
Oh mais je sais très bien qu'il n'est pas compilable en l'état je suis pas si bête, il n'empêche qu'il me dit que j'ai une erreur au niveau du égal sans me préciser laquelle.

            SqlConnection monCanal = BDDConnexion();           
            SqlCommand obj = new SqlCommand(sql, monCanal);

            using (SqlCommand cmd = monCanal.CreateCommand())
            {
                cmd.CommandText = sql;
                using (SqlDataReader reader = cmd.ExecuteReader())
                {
                    List<string> numeroList = new List<string>();
                    while (reader.Read())
                    {
                        string numero = reader["numero"].ToString();
                        numeroList.Add(numero);             
                    }
                    reader.Close();
                    monCanal.Close();
                    return numeroList.ToString();
                }
            }
Commenter la réponse de therainbow3
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
23
0
Merci
PS1  En utilisant les using tu n'as pas bien de fermer le reader.

PS2 Pourquoi mettre ta list en string (bizarre)

PS3  Tous les chemins ne retourne pas valeur peut etre
mais le return sur le derniere ligne

PS 4 MonCanal doit etre fermé apres l'acccolade du using SQL Command
pour garder l'esprit des couches et des niveaux.

Il faut mettre l'ouverture et le fermeture sur le meme niveau des fonctions.

Esperant que ca te guide pour avancer dans la recherche.

J'ai pas le temps de tester ton programme
Commenter la réponse de nhervagault