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 Discussion :

Utiliser une boucle while


Sujet :

ASP

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 42
    Points : 17
    Points
    17
    Par défaut Utiliser une boucle while
    bonjour voila j'ai un problème concernant l'utilisation d'une boucle "while"
    voici mon code
    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
    Set rs2 = Server.CreateObject("ADODB.recordset")
    codeCli=Request.Form("client")
    rechercheCli="SELECT Code,RaisonSociale FROM CLIENT WHERE Code like '"&codeCli&"%';"
    rs2.Open rechercheCli,objConn,3,3
    %>
    Entrez le nom du client voulu
    <form action="./recherche.asp" method="post" name="recherche">
        <label>Code Client<br />
          <input type="text" name="client" style="width:110px" maxlength="15"/>
        </label>
        &nbsp;&nbsp;
        <input type="submit" name="rechercher" value="Rechercher >>" />
        </p>
      </form>
    <%
    if rs2.RecordCount <>0 then%>
    <table border="2" bordercolor="#0099FF">
        <tr>
            <td>Code</td>
            <td>Raison Sociale</td>
        </tr>
        <% while not rs2.EOF do%>
        <tr>
            <td><%response.Write(rs2("Code"))%></td>
            <td><%response.Write(rs2("RaisonSociale"))%></td>
        </tr>
        <% rs2.movenext
            loop
        rs2.close
        set rs2=nothing
        wend
        %>
    celui ci marche mais il me met une erreur
    [FONT=Arial]ADODB.Field[/FONT] [FONT=Arial]erreur '80020009'[/FONT]
    [FONT=Arial]BOF ou EOF est égal à True ou l'enregistrement actuel a été supprimé. L'opération demandée nécessite un enregistrement actuel.[/FONT]
    [FONT=Arial]/src/recherche.asp[/FONT][FONT=Arial], ligne 0[/FONT]
    Est ce que ma syntaxe est mauvaise ou est ce ma requête???

    sachant que recherche.asp s'apel lui même lorsque je soumet le formulaire.

    Merci d'avance si vous avez une idée!!

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    A priori, je dirais que ta requête ne retourne aucun enregistrement.

    Tu peux essayer ça ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    rechercheCli="SELECT Code,RaisonSociale FROM CLIENT WHERE Ucase(Code) like '%" & uCase(codeCli) & "%'"

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Salut, je vais peut etre dire une connerie mais apparament tu depasse la borne EOF de ton recordset, essaye avec do while not rs.eof....loop

    Voilou c'est tout ce que je peux dire.. ++
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    ben ma requête retourne des enregistrement mais en fait (désolé d'avoir omis de le préciser) j'ai tout mes enregistrement et à la fin de ceux ci le message d'erreur. donc je pense pas que cela vienne de la requête.
    Dans le doute je vai quand même essayer!!!

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    ben voila j'ai essayé ta requête mais j'ai toujours le même message d'erreur donc sa doit venir de ma boucle qui doit avoir un problème.
    Petite question au passage la syntaxe du "while" c'est bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    while condition
    instruction...
    loop
    wend
    ou alors j'ai rien compris

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    les boucles peuvent s'ecrirent :

    do while test
    ...
    loop



    ou encre

    do
    ...
    loop while test


    voilou, je continue de penser que tu sors de ton recordset donc c est bien ta boucle qui est en question...
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

  7. #7
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Re,

    Avant cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if rs2.RecordCount <>0 then
    Peux-tu ajouter cet affichage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Response.Write(rs2.RecordCount)

  8. #8
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    j'ai ajouté le compteur comme tu me la demandé et par exemple en tapant A dans mon formulaire
    j'ai le chiffre 8 pour le recordcount qui s'affiche avec les 8 codes et les 8 raisons sociales des 8 clients qui commence par A
    ET une 9eme case de tableau avec mon erreur!!!

  9. #9
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    168
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 168
    Points : 196
    Points
    196
    Par défaut
    Salut, juste pour savoir si tu avais testé

    <% do while not rs2.EOF%>
    plutot que
    <% while not rs2.EOF do%> (qui a mon sens pose probleme)

    Pour ma culture perso, merci.
    Sur terre il y a 10 types de personnes, celles qui comprennent le binaire et les autres...

  10. #10
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    ben du coup pour ma culture perso a moi comment on utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <%do
    instruction....
    while test
    %>
    parce que je sai pas si y faut un wend ou quelque chose!!!
    merci!!!

  11. #11
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 166
    Points : 189
    Points
    189
    Par défaut
    en reprenant une partie de ton code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <% while not rs2.EOF%>
        <tr>
            <td><%response.Write(rs2("Code"))%></td>
            <td><%response.Write(rs2("RaisonSociale"))%></td>
        </tr>
        <% rs2.movenext
       wend
        rs2.close
        set rs2=nothing
     
        %>
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <% do while not rs2.EOF %>
        <tr>
            <td><%response.Write(rs2("Code"))%></td>
            <td><%response.Write(rs2("RaisonSociale"))%></td>
        </tr>
        <% rs2.movenext 
       loop
        rs2.close
        set rs2=nothing
     
        %>

  12. #12
    Membre à l'essai
    Inscrit en
    Avril 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 42
    Points : 17
    Points
    17
    Par défaut
    ouaip la deuxieme solution marche à savoir
    ou encore
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     <% do while not rs2.EOF %>
        <tr>
            <td><%response.Write(rs2("Code"))%></td>
            <td><%response.Write(rs2("RaisonSociale"))%></td>
        </tr>
        <% rs2.movenext 
       loop
        rs2.close
        set rs2=nothing
     
        %>
    Merci beaucoup !!!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utiliser le OU dans une boucle while
    Par Yann_69 dans le forum Général Java
    Réponses: 10
    Dernier message: 21/06/2012, 16h32
  2. utilisation d'une boucle while
    Par oliv27400 dans le forum MATLAB
    Réponses: 4
    Dernier message: 28/05/2010, 17h48
  3. [Conception] Problème de test dans une boucle while
    Par Cyrius dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/11/2005, 18h07
  4. Réponses: 6
    Dernier message: 17/06/2005, 16h51
  5. [MFC] Dialog dans une boucle while
    Par oxor3 dans le forum MFC
    Réponses: 5
    Dernier message: 23/04/2004, 22h51

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