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

Résolu
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010 - 28 juil. 2008 à 11:51
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.

6 réponses

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
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.
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2008 à 13:15
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
0
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010
28 juil. 2008 à 13:56
J'obtiens une erreur près de "=" au niveau de reader = cmd.ExecuteReader()
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2008 à 14:03
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
0

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

Posez votre question
therainbow3 Messages postés 50 Date d'inscription vendredi 14 mars 2008 Statut Membre Dernière intervention 25 mai 2010
28 juil. 2008 à 14:55
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();
                }
            }
0
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
28 juil. 2008 à 16:10
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
0
Rejoignez-nous