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

ASP.NET Discussion :

Problème de boucle for


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut Problème de boucle for
    Alors voila mon problème de boucle for, est qu'en fait, ma boucle ne boucle pas du tout!!! mon i++ est sous ligné en en bleu, et le compilateur dit que je ne peux pas atteindre ce code...???
    Seul le premier élément s'affiche, même si je sélectionne un autre élément...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    int nbLigne = gvSalarie.Rows.Count;
            for (int i = 0; i < nbLigne; i++)
            {
                list.Add(new string[2]{gvSalarie.DataKeys[i]["matricule"].ToString(),
                                       gvSalarie.DataKeys[i]["typeDocument"].ToString()});
                if (((CheckBox)gvSalarie.Rows[i].FindControl("uneSelection")).Checked)
                {
                    try
                    {
                        if (connexion.State == ConnectionState.Closed)
                        {
                            connexion.Open();
                        }
                        reqSelectRacine = "SELECT racine " +
                                          "FROM CHEMIN, DOCUMENT " +
                                          "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                          "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' " +
                                          "AND CHEMIN.idChemin = DOCUMENT.idChemin ";
                        reqSelectDossierPrinc = "SELECT dossierPrincipal " +
                                                "FROM CHEMIN, DOCUMENT " +
                                                "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                                "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' " +
                                                "AND CHEMIN.idChemin = DOCUMENT.idChemin ";
                        reqSelectSousDossier = "SELECT sousDossier " +
                                               "FROM CHEMIN, DOCUMENT " +
                                               "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                               "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' " +
                                               "AND CHEMIN.idChemin = DOCUMENT.idChemin ";
                        reqSelectIdSociete = "SELECT idSociete " +
                                             "FROM DOCUMENT " +
                                             "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                             "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' ";
                        reqSelectJourDate = "SELECT DAY(dateDocument) " +
                                            "FROM DOCUMENT " +
                                            "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                            "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' ";
                        reqSelectMoisDate = "SELECT MONTH(dateDocument) " +
                                            "FROM DOCUMENT " +
                                            "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                            "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' ";
                        reqSelectAnneeDate = "SELECT YEAR(dateDocument) " +
                                             "FROM DOCUMENT " +
                                             "WHERE [matricule] = '" + gvSalarie.DataKeys[i]["matricule"].ToString() + "' " +
                                             "AND [typeDocument] = '" + gvSalarie.DataKeys[i]["typeDocument"].ToString() + "' ";
                        // Exécution des requêtes
                        SqlCommand cmdSelectRacine = new SqlCommand(reqSelectRacine, connexion);
                        SqlCommand cmdSelectDossierPrinc = new SqlCommand(reqSelectDossierPrinc, connexion);
                        SqlCommand cmdSelectSousDossier = new SqlCommand(reqSelectSousDossier, connexion);
                        SqlCommand cmdSelectIdSociete = new SqlCommand(reqSelectIdSociete, connexion);
                        SqlCommand cmdSelectJourDate = new SqlCommand(reqSelectJourDate, connexion);
                        SqlCommand cmdSelectMoisDate = new SqlCommand(reqSelectMoisDate, connexion);
                        SqlCommand cmdSelectAnneeDate = new SqlCommand(reqSelectAnneeDate, connexion);
     
                        string racine = cmdSelectRacine.ExecuteScalar().ToString();
                        string dossierPrinc = cmdSelectDossierPrinc.ExecuteScalar().ToString();
                        string sousDossier = cmdSelectSousDossier.ExecuteScalar().ToString();
                        string typeDocument = gvSalarie.DataKeys[i]["typeDocument"].ToString();
                        string matricule = gvSalarie.DataKeys[i]["matricule"].ToString();
                        string idSociete = cmdSelectIdSociete.ExecuteScalar().ToString();
                        string jour = cmdSelectJourDate.ExecuteScalar().ToString();
                        string mois = cmdSelectMoisDate.ExecuteScalar().ToString();
                        string annee = cmdSelectAnneeDate.ExecuteScalar().ToString();
     
                        string dateDocument = jour + "-" + mois + "-" + annee;
                        string chemin = racine + "" + dossierPrinc + "" + sousDossier + "" + typeDocument + "" + matricule + "" + idSociete + "" + dateDocument + ".pdf";
     
                        return chemin;
                    }
                    catch (Exception ex)
                    {
                        return "";
                    }
                }
                return "";
            }
    J'ai exactement la même boucle pour ma suppression et ça fonctionne , mais là je ne comprends vraiment rien...

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    dans ce genre d'erreur il faut regarder au dessus de ta ligne, il y surement quelque chose d'autre que le compilateur n'a pas digéré..

  3. #3
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 247
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 247
    Par défaut
    tu as un return de trop ou de mal placé dans ta boucle, dès le premier tour tu sort directement de la procedure

  4. #4
    Membre chevronné
    Inscrit en
    Octobre 2005
    Messages
    400
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 400
    Par défaut
    Je dirai plus précisement que dès que tu rencontre une case cocher(Checked), tu sors de la boucle. Même après correctif du return qui après la première boucle.

  5. #5
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    D'un point de vue général, quel que soit le langage, on évite la concaténation de chaînes. Cela consomme de la ressource. En C# il faudrait faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    reqSelectRacine = string.Format("SELECT racine FROM CHEMIN, DOCUMENT WHERE [matricule] = '{0}' AND [typeDocument] = '{1}' AND CHEMIN.idChemin = DOCUMENT.idChemin;", gvSalarie.DataKeys[i]["matricule"], gvSalarie.DataKeys[i]["typeDocument"]);
    Après, je ne parle pas des procédures stockées.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

Discussions similaires

  1. [ActionScript] Problème avec boucle 'FOR'
    Par BnA dans le forum Flash
    Réponses: 7
    Dernier message: 02/11/2006, 09h26
  2. [VBS][Débutant] Problème syntaxe boucle For
    Par _alex_ dans le forum VBScript
    Réponses: 2
    Dernier message: 26/07/2006, 14h26
  3. problème dans boucle for de lecture de fichier ini
    Par chourmo dans le forum Delphi
    Réponses: 3
    Dernier message: 06/07/2006, 09h31
  4. [batch]inventaire réseau-problème de boucle "for"
    Par mathieu_r dans le forum Windows
    Réponses: 1
    Dernier message: 23/06/2006, 20h17
  5. [Eval] Problème de boucle for sur des tableaux
    Par battle_benny dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 12/01/2006, 23h55

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