IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Conserver les valeurs d'un select dans un tableau


Sujet :

C#

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut Conserver les valeurs d'un select dans un tableau
    Bonsoir,

    je ne sais pas comment faire pour que même avec la fermeture de ma connexion les données soit conservé.

    Pour mieux m'expliquer voici une parti de mon code (je dis bien une parti car je ferme bien la connexion, le try est bien présent avant etc etc...) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
      using (SqlCommand cmd3 = new SqlCommand(select2, cn2))
                            {
                      SqlDataReader reader2 = cmd3.ExecuteReader();
       while (reader2.Read())
                                            {
     
     
                      tabNb[i] = reader2.GetValue(0).ToString(); ;
                           i = i + 1;
                                            }
    }
    Sauf que je voudrais que les valeurs soit stocké dans tabNb car ensuite je vais faire un random sur les indices du tableau pour effectuer une requete insert a la suite. Or ce n'est pas le cas.
    Je pense qu'il faut donc pas utiliser un datareader mais quoi donc ? Car pour un select je trouve partout des exemples avec un datareader ...

    PS: désolé je me doute que la question a surement été posé mais quoi que je tape en recherche je trouve pas ce que je veux . Désolé et merci d'avance

  2. #2
    Membre régulier
    Inscrit en
    Mai 2010
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 72
    Points : 100
    Points
    100
    Par défaut
    Bonjour Reality_,

    Hum excuse moi, mais je ne comprend pas trop ce que tu veux sauvegarder avec tabNb :s

    Qu'entend-tu par "les sauvegarder" ?

    Ton datareader, tu l'utilise déjà avec ton objet SqlDataReader.

    Peux-tu nous donner d'avantage d'information sur ce que tu veux faire avec tabNb ?

    D'avance merci.

    Bonne journée

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Bonjour Supermouton,

    Ben je voudrais utiliser tabNB dans une autre requête pour une insertion. Mais cela me dis que tabNB[] est vide alors que j'ai vérifié avec un messagebox que le tabNB avait bien été rempli donc je pense que les valeurs reste tant que la connexion n'est pas fermé.

  4. #4
    Membre régulier
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2011
    Messages : 53
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Quand est-ce que tu utilise tabNb pour faire ta requête d'insertion?
    Car il est possible qu'entre deux il y ait un postback ce qui va vider ton tableau

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Je l'utilise après mais je ferme la connexion avant avec un cn2.Dispose(); :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     using (SqlCommand cmd2 = new SqlCommand(insert, cn3))
                                    {
     Random rand = new Random();
                                            noserie = Convert.ToInt32(tabNb[rand.Next(0, i)]);
     
                                            DbParameter dbp2 = cmd2.CreateParameter();
                                            dbp2.ParameterName = "@serie";
                                            dbp2.DbType = DbType.Int32;
                                            dbp2.Value = noserie;
                                            cmd2.Parameters.Add(dbp2);
     
     cmd2.ExecuteNonQuery();
    }
    Je sais pas si c'est sa que tu voulais savoir

  6. #6
    Membre régulier
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2011
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2011
    Messages : 53
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    je ne voit pas vraiment ou est le problème, car ton code à l'aire correcte
    peut-être que tu devrait essayer d'utiliser
    au lieu de
    mais je ne suis pas sure que ça va résoudre ton problème

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    92
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 92
    Points : 83
    Points
    83
    Par défaut
    Remarque (sans doute inutile mais au cas où) : si tu n'utilises qu'une seule base de données, une seule connexion te suffit, il n'est pas nécessaire de la recréer pour chaque requête, select, insert, etc. Ensuite, il suffit de fermer la connexion une seule fois après l'exécution de toutes les requêtes.

    Comment as-tu déclaré la variable tabNb ? Connais-tu déjà le nombre de lignes retournées par la requête SELECT ? Sinon as-tu définit tabNB en tableau de String avec un nombre fixe de cases (exemple: 100000) ??? Si oui, je te conseillerai d'utiliser une liste List<String> à place. Cette classe permet d'ajouter autant d'éléments que tu le souhaites et tu n'auras plus à gérer une compteur i.

  8. #8
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2010
    Messages : 26
    Points : 15
    Points
    15
    Par défaut
    Remarque (sans doute inutile mais au cas où) : si tu n'utilises qu'une seule base de données, une seule connexion te suffit, il n'est pas nécessaire de la recréer pour chaque requête, select, insert, etc. Ensuite, il suffit de fermer la connexion une seule fois après l'exécution de toutes les requêtes.
    Non pas inutile , je ne savais pas qu'une connexion pouvais effectuer plusieurs requête.


    je déclare tabNb comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string[] tabNb = new string[10];
    Et non je ne connais pas à l'avance le nombre de case que j'ai besoin c'est pourquoi j'ai mis un chiffre assez grand.

    Merci de tes conseils , je vais regarder du coté de List<String> alors

    PS: j'utilise un dataset pour enregistrer les données dans le tabNb donc maintenant sa marche même si c'est un peu inutile j'pense

Discussions similaires

  1. Retourner les valeurs d'un select dans un tableau après un POST
    Par DevCom59 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 23/06/2014, 22h47
  2. [MySQL] Récupérer les valeurs d'une table dans un tableau
    Par bachboucha dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 15/06/2009, 10h50
  3. Réponses: 6
    Dernier message: 23/03/2009, 16h40
  4. [MVC] Conserver les valeurs d'éléments Set dans un POJO
    Par kobee dans le forum Spring Web
    Réponses: 1
    Dernier message: 10/09/2006, 20h45
  5. [sgbd] Recuperer valeurs d'un Select dans un tableau
    Par Mu_Belier dans le forum SGBD
    Réponses: 16
    Dernier message: 27/05/2005, 16h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo