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 :

Probleme recordset multiples, liste deroulante


Sujet :

ASP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut Probleme recordset multiples, liste deroulante
    Bonjour,

    J'ai un probleme avec les recordset.

    Comme vous pouvez le voir ci-dessous j'en ai 2 (en fait 3 mais le troisieme marche bien).

    Au chargement de la page il l'y a que la premiere liste et elle est vide, il n'y a pas la deuxieme.

    De plus normalement j'ai un tableau qui s'affiche après mais il semble que le problême que j'aio empeche la suite du chargement de la page.

    Je comprend pas j'ai utilisé la même methode que pour un tableau qui marche très bien.


    Faites pas gaffe à l'interet du code, jarrete pas de la bisouiller depuis 2h et la j'ai simplifier a mort tout ce que je pouvai mais ca marche toujours pas...
    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
    sql1 = "SELECT * FROM tUser"
     
    Set rs1 = Server.CreateObject("ADODB.RecordSet")
    rs1 = conn.execute(sql1)
     
    'rs1.open sql1, conn
    response.write(sql1) %>
     
     
     
    <form method="post" action="./accueil.asp?trie=Id">
    	<select onchange="javascript:submit()" name="Famille">
    	<option>Famille</option>
     	<% Do While Not rs1.EOF %>
        <option value=<%= rs1("sCode") %> > <%= rs1("sCode") %></option> 
     
        <%
        rs1.MoveNext 
        Loop %>
        </select>
    </form >	
     
     
     
    <%
     
        sql2 = "SELECT * FROM tUser"
     
    	set rs2 = Server.CreateObject("ADODB.RecordSet")
    	rs2 = conn.execute(sql2)
    	'rs2.open sql2, conn
    	response.write(sql2)
    %>
     
     
     
     
    <form method="post" action="./accueil.asp?trie=Id">
    	<select onchange="javascript:submit()" name="passe">
    	<option>Password</option>
        <% Do While Not rs2.EOF %>
        <option value=<%= rs2("sPassword") %>> <%= rs2("sPassword") %></option>
        <% 
        rs2.MoveNext
        Loop %>
        </select>
    </form >


    Pour info la page n'affiche pas de message d'erreur mais quans j'affiche la source de la page (sous firefox pasque sous IE ca y est meme pas) je vois un message d'erreur dans le code comme quoi "Cet objet ne gere pas ectte propriété ou cette méthode : EOF"



    Alors la jsui largué complet si y'a un sauveur parmis vous merci d'avance...

  2. #2
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Points : 287
    Points
    287
    Par défaut
    je te conseille de faire un test pour savoir si ta requete renvoi quelque chose et de rajouter un movefirst

    ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    rs1 = conn.execute(sql1) 
    if rs1.eof=false then
    response.write("ya rien")
    else
    rs1.movefirst
    do while rs1.eof = false
    rs1.movenext
    loop
    end if

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Heu je pourrais essayer ca que demain...

    Mais j'ai peur que le problême soit ailleurs (je vais tout de même utiliser ta soluce qui me parat plus propre )

    Mais le problême c'est que la même requete (a la virgule pret sauf que rs1 s'apelle rs) fonctionne bien quand je veux afficher un tableau.

    Mais là ba la liste déroulante ca veut pas...


    Et en plus ca annule toute la suite

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 80
    Points : 67
    Points
    67
    Par défaut
    Salut,

    Pourquoi t'as mis rs1.open sql1, conn en commentaires? ca ne marche pas?
    car je pense que tu devrais plutot utiliser cette methode, en effet je crois que rs1 = conn.execute(sql1) execute le code sql mais ne revoit rien (ie ton recordset est vide) moi par exemple je n'utilise cette methode que pour faire des update sur ma base...
    Bon encore une fois je ne suis pas sûr a 100%, mais bon tu devrais essayer ptet que ca va vient de la....
    http://hugues.terrien.org --> Photos d'australie, et du monde..

    Hugues Terrien, Ingénieur EISTI en Décisionnel des Systèmes d'information

  5. #5
    Membre actif
    Inscrit en
    Janvier 2005
    Messages
    451
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 451
    Points : 287
    Points
    287
    Par défaut
    100% d'accord avec karibou

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Après écoutage de vos conseils respectifs voici le code résultant.

    Il est à noter que j'ai rajouté les End If (honte sur moi c'est ca qui faisait que la reste de la page voulait pu rien faire) cela a permis d'avoir les deux liste déroulantes qui s'affichent mais elles sont toujours vident...

    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
    <%
    	Dim rs, rs1, rs2, sql, sql1, sql2, trier
     
    	if IsEmpty(request("Trie")) Or request("Trie")="Id" Then
    		trier = "Id"
    	else
    		if request("Trie") = "Nom" Then
    			trier = "sCode"
    		else
    			if request("Trie") = "Pass" Then
    				trier = "sPassword"
    			End If
    		End If
    	End If 
     
    	sql1 = "SELECT * FROM tUser"
     
    	Set rs1 = Server.CreateObject("ADODB.RecordSet")
    	'rs1 = conn.execute(sql1)
     
    	rs1.open sql1, conn
    	response.write(sql1) %>
     
     
     
    <form method="post" action="./accueil.asp?trie=Id">
    	<select onchange="javascript:submit()" name="Famille">
    	<option>Famille</option>
     
    	<% if rs1.eof=false then
    		response.write("ya rien")
    		else
    		rs1.movefirst
    		do while rs1.eof = false %>
        		<option value=<%= rs1("sCode") %> > <%= rs1("sCode") %></option> 
     
        	<%
       		 rs1.MoveNext 
        	Loop
        	End If %>
        </select>
    </form >	
     
     
     
    <%
     
        sql2 = "SELECT * FROM tUser"
     
    	set rs2 = Server.CreateObject("ADODB.RecordSet")
    	'rs2 = conn.execute(sql2)
    	rs2.open sql2, conn
    	response.write(sql2)
    %>

    Pour info sur la même page (sous les listes déroulantes donc, j'affaiche un tableau avec le copntenu de la base qui lui s'affiche correctement (d'où mon embarra actuel puisque c'est une méthode similaire).

    Voici son code, en fait je ne voit pas ce qui coince entre ce code ci et le code de mes listes...
    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
    <%	sql = "SELECT * FROM tUser ORDER BY "& trier 
    	response.write (sql)
     
    	set rs = Server.CreateObject("ADODB.RecordSet")
    	Set rs= conn.Execute(sql)
    	'rs.open sql, conn
     
     
    	Dim i, color, colorlink
    	i=1
    	Do While Not Rs.EOF
     
     
    		If (i Mod 2 = 0) then 
    			color="#00CCCC"  
    			colorlink="white"
    		else 
    			color="#0066CC"  
    			colorlink="white" 
    		End If%>
     
    		<tr align="center" bgcolor=<%= color %>><td> 	
    		<%= rs("Id") %> </td><td>
    		<%= rs("sCode") %> </td><td> 
    		<%= rs("sPassword") %> </td>
    		</tr>
     
     
    	<% 
    	i= i + 1
    	rs.MoveNext
    	Loop %>
    	</table>
    J'utilise ici le .Execute qui fonctionne donc aussi (le .open et le .execute me donne le même resultat...)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Donc il ne m'affiche pas "ya rien" ce qui semblerait vouloir dire que que la requete renvoit quelque chose, mais il n'affiche rien dans la liste (même en rajoutant un <option value="test">test</option> pour chaque ittération de la boucle...)

    Donc en résumant la boucle doit se faire puisque ca n'affche pas "ya rien" mais en fait ba y'a aucune ittération...



  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Avec ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <% if rs1.eof=False then %>
    		<option value="ya rien">YARIEN</option>
    		<% else
    		rs1.movefirst
    		do while rs1.eof = False %>
        		<option value=<%= rs1("sCode") %> > <%= rs1("sCode") %></option> 
     
        	<%
       		 rs1.MoveNext 
        	Loop
        	End If %>

    Ca affiche le "YARIEN", donc c'est un problême au niveau de ma requête?
    Je comprend pas la, elle est toute simple...

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 93
    Points : 38
    Points
    38
    Par défaut
    Bon ba maintenant ca marche :

    Il semblerait déjà qui le test rs1.eof=false faisait l'inverse donc j'ai remis while NOT rs1.eof.
    Et maintenant la boucle fait des itérations


    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
    sql1 = "SELECT * FROM tUser"
    	Set rs1 = Server.CreateObject("ADODB.RecordSet")
    	'rs1 = conn.execute(sql1)
    		rs1.open sql1, conn
    	response.write(sql1) %>
     
    <form method="post" action="./accueil.asp?trie=Id">
    	<select onchange="javascript:submit()" name="Famille">
    	<option>Famille</option>
     
    	<% if rs1.eof then %>
    		<option value="ya rien">Base vide</option>
    		<% else
    		rs1.movefirst
    		do while NOT rs1.eof%>
        	<option value=<%= rs1("sCode") %> > <%= rs1("sCode") %></option> 
           	<% rs1.MoveNext 
        	Loop
        	End If 
        	%>
        </select>
    </form >

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

Discussions similaires

  1. [AJAX] 4 listes deroulantes liees
    Par Jeol2007 dans le forum AJAX
    Réponses: 7
    Dernier message: 13/11/2009, 18h49
  2. [HTML] probleme avec une liste deroulante et un menu contextuel
    Par Akramweb dans le forum Balisage (X)HTML et validation W3C
    Réponses: 9
    Dernier message: 21/06/2008, 22h17
  3. [MySQL] Probleme insertion valeur liste deroulante
    Par tigger_riric dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 30/06/2007, 15h17
  4. probleme avec les listes deroulantes
    Par mans27 dans le forum JSF
    Réponses: 18
    Dernier message: 15/06/2007, 10h48
  5. [MySQL] Problème avec une liste déroulante
    Par leloup84 dans le forum SQL Procédural
    Réponses: 19
    Dernier message: 24/01/2006, 12h57

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