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 :

Message d'erreur ADODB.Field error '80020009'


Sujet :

ASP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 22
    Points
    22
    Par défaut Message d'erreur ADODB.Field error '80020009'
    Bonjour,

    Ce message s'affiche intempestivement alors même que tout semble jouer dans le code:

    ADODB.Field error '80020009'
    Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.
    /services/telechargement/admin/memberpagetony.asp, line 0

    Le code semble correct. Je ne vois pas l'erreur
    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
     
    <html>
    <head>
    <title>Téléchargement</title>
     
    </head>
     
    <body>
    <table border="0" align="left" cellpadding="0" cellspacing="0" width="583" height="63">
         <tr><td></td><td>
     <%
      loginstatus = session("login")
     if loginstatus = "yes" then
     
    password = Request.form("password")
     
    Conn_String = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db/membertony.mdb")
     
    	Set Conn=Server.CreateObject("ADODB.Connection")
    	Conn.Open Conn_String
    	sql = "SELECT * From member where password like '"&password&"' "
    	set rs = Conn.Execute (sql)
     
    %>
    <center>
    <br>
    <b><font face="Verdana" size="2"><br>
    Détail de l'utilisateur<br>
    </font></b><br>
    <table border=0 width=400 class="TxtNormal" cellspacing="0" cellpadding="4">
     
    <tr><td width="141" bgcolor="#51759A"><b>
    	<font face="Verdana" size="2" color="#FFFFFF">Nom d'utilisateur</font></b></td>
    	<td bgcolor="#CCCC99"><%=rs("email")%></td></tr>
    <tr><td width="141" bgcolor="#51759A"><b>
    	<font face="Verdana" size="2" color="#FFFFFF">Mot de passe</font></b></td>
    	<td bgcolor="#CCCC99"><%=rs("password")%></td></tr>
     
    </table>
     
    <% rs.close
    	Conn.Close
    	set Conn = nothing
    	else
    	Response.Redirect "index2.asp"
    	end if
    	%>
    	</td>
    </tr>
    </table>
     
     
    </body>
     
    </html>
    Merci pour tout conseil et avis.
    Bonne journée.
    :D
    TonyC

  2. #2
    Membre actif Avatar de ahage4x4
    Inscrit en
    Janvier 2005
    Messages
    318
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 318
    Points : 238
    Points
    238
    Par défaut
    Bonjour,
    Le message d'erreur est clair, ton recordset est vide, cad le resultat de ta requete.
    Après je ne vois pas que tu te deplace pas dans le recordset.

    Il faut donc RS.MoveFirst au moins pour recuperer RS("Password") etc.. puis apres tu dessine le tableau pour chque ligne du recordset du coup tu aura le code suivant:
    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
    <%.......
    sql = "SELECT * From member where password like '"&password&"' " 
       set rs = Conn.Execute (sql) 
    If not (RS.BOF and RS.EOF) then 'Si le recordset pas vide, 
     
    RS.MoveFirst   ' passe au 1er enregistrement
     
    do while not RS.EOF   %>
     
    'TRAITEMENT HTML ICI
     
    <%LOOP
     
    rs.close 
       Conn.Close 
       set Conn = nothing 
       else 
       Response.Redirect "index2.asp" 
    End if  'Correspond au if recordset pas vide
    %>
    Voila en gros n'hesite pas s'il y a quelquechose que tu ne comprends pas

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 40
    Points : 22
    Points
    22
    Par défaut
    Merci pour les explications, je comprends mieux la logique sous-jacente, mais j'ai maintenant compris pourquoi le recordset est vide: c'est qu'il y avait entre la page où se trouve le formulaire et la page de recherche une page de vérification, qui elle, ne contenait pas de formulaire... Désolé de n'avoir pas vu le bug plus tôt, et merci encore! :D

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

Discussions similaires

  1. Erreur : ADODB.Field erreur '800a0bcd'
    Par Ricoxor dans le forum ASP
    Réponses: 3
    Dernier message: 04/02/2014, 17h20
  2. Erreur : ADODB.Recordset error '800a0cc1'
    Par Celine_2411 dans le forum ASP
    Réponses: 4
    Dernier message: 23/05/2008, 11h05
  3. Erreur ADODB.Recordset error '800a0cc1' sur une condition
    Par jeandormesson dans le forum ASP
    Réponses: 1
    Dernier message: 02/04/2008, 11h05
  4. Erreur ADODB.Recordset error '800a0e7d'
    Par Pokerstar dans le forum ASP
    Réponses: 10
    Dernier message: 14/05/2007, 14h45
  5. Réponses: 2
    Dernier message: 30/08/2005, 16h08

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