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 :

La commande Find d'un recordset


Sujet :

ASP

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut La commande Find d'un recordset
    Comment utiliser cette méthode?
    Par exemple je evux chercher dans unrecorset la valeur "banane"

    j'ecris

    RS.Find("banane",?,?,?)
    A quoi servent les trois autres arguments?

  2. #2
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    bjr

    ok j'ai regarde et je pense avoir compris. Mais ca ne fonctionne pas !
    J'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <option value='<%=RSD("dip_intitule")%>'
            <%
    	Rsestbase.movefirst
    	if RSestbase.Find("DIP_INTITULE=2") then
    	       response.write " selected"
    	end if
            %>> 
    	blabla
    </option>
    Alors que quand j'écris la même chose, mais au lieu d'utiliser la commande find j'écris:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if RSestbase("DIP_INTITULE")=2 then
         response.write " selected"
    end if
    cela fonctionne. (enfin cela affiche bien le selected, ce qui prouve que j'ai bien la valeur 2 dans mon recorset)

    D'où peut venir l'erreur?

    Merci de votre aide

  4. #4
    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,

    Citation Envoyé par christel1982
    D'où peut venir l'erreur?
    Quelle erreur ?

  5. #5
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     <option value='<%=RSD("dip_intitule")%>' 
            <% 
       Rsestbase.movefirst 
       if RSestbase.Find("DIP_INTITULE=2") then 
              response.write " selected" 
       end if 
            %>> 
       blabla 
    </option>
    RSestbase.Find("DIP_INTITULE=2") --> il ne trouve pas ma valeur dans le recordset

  6. #6
    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,

    C'est curieux, mais dans MSDN, je ne trouve pas de méthode FIND associée à un recordset.

    Je ne trouve que : FindFirst, FindLast, FindNext, FindPrevious

  7. #7
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    je developpe en asp
    http://www.w3schools.com/ado/met_rs_find.asp

  8. #8
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Le nom d'un champs dans un recordset est la valeur entre les guillemets:
    RSestbase.Find("DIP_INTITULE")
    Tu ne peux pas faire d'operations entre ces guillemets, seulement à l'exterieur. Ceci ne peut pas marcher.
    RSestbase.Find("DIP_INTITULE=2")
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    si je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if RSestbase.find("DIP_INTITULE")=2
    j'ai une erreur ...

    Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.

  10. #10
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Euh, autant pour moi, je devrai apprendre à lire. Il me semble que tu avais raison dans ta méthodologie:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
       if RSestbase.Find("DIP_INTITULE=2") then 
              response.write " selected" 
       end if
    Après, ton champs "DIP_INTITULE" est-il bien du type numérique?

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

  11. #11
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    bon j'y arrive toujours pas !
    j'ai une table diplome:
    dip_intitule varchar 6
    dip_libelle varchar 42

    j'ouvre un recordset:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SQL="SELECT * FROM DIPLOME"
    Set RSD = server.createobject("ADODB.Recordset")
    RSD.Open SQL,objconn , 3, 3
    jusque la tout va bien. j'essai d'utiliser la commande find
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    if RSD.find("DIP_INTITULE='BTS'") then
        response.write "c est cool"
    else
        response.write "c mauvais"
    end if
     
    voilà j'ai bien BTS en clé primaire dans le champs DIP_INTITULE
     
    ou est l'erreur??

  12. #12
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Et pourquoi ne pas utiliser un classique mais toujours efficace:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from diplome where DIP_INTITULE='BTS';

  13. #13
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Salut,

    C'est putôt comme ça
    Pymm > pour ne pas faire un nouvel accès à la base de données.
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  14. #14
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    Pymm > en fait j'ai besoin de faire un traitement un peu plsu compliquer que ca, mais j'essai de faire fonctionner la commande avec un exemple simple

    franculo_caoulene> je suis deja allée voir plusieurs site

    je peux pas enlerver les parentheses en asp

  15. #15
    Membre émérite Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Points : 2 953
    Points
    2 953
    Par défaut
    Qui parle des parenthèses? Je parle de ton if!
    Les Cours et tutoriels JavaScript
    Penser à la recherche et au bouton

  16. #16
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    faut pas s'enerver

    c'est super ca marche !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    If (RSD.BOF = True) OR (RSD.EOF = True) Then
        response.write "Record not found"
    else
        response.write "il est la"
    End If
    Merci !

  17. #17
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    et maintenant je veux essayé de chercher une donnée dynamique dans mon recordset:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    numpermis=RSP("per_num")
    RSPNe.Find("PER_NUM="nompermis)
    If (RSPNe.BOF = True) OR (RSPNe.EOF = True) Then
          response.write "non"
    else
        response.write " oui"
    end if
    evidemment ca marche pas !

  18. #18
    Membre éclairé
    Inscrit en
    Janvier 2004
    Messages
    633
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 633
    Points : 721
    Points
    721
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RSPNe.Find("PER_NUM=" & nompermis)

  19. #19
    Expert éminent
    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
    Points : 9 506
    Points
    9 506
    Par défaut
    Citation Envoyé par christel1982
    j'ai une table diplome:
    dip_intitule varchar 6
    dip_libelle varchar 42
    Est-ce que DIP_INTITULE peut être égal à 2 si dip_intitule est de type varchar 6 ?
    Ne faudrait-il pas mettre un type numérique ou effectuer une conversion?
    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  20. #20
    Membre du Club
    Inscrit en
    Octobre 2005
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 82
    Points : 56
    Points
    56
    Par défaut
    ADODB.Recordset (0x800A0BB9)
    Les arguments sont de type incorrect, en dehors des limites autorisées ou en conflit les uns avec les autres.

    j'ai mis des intitules à la place de nombres

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. "methode" Find sur une Recordset
    Par eclesia dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 18/01/2007, 08h55
  2. Incompréhension avec la commande "find"
    Par Charly94 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 28/12/2006, 18h17
  3. Option -prune avec la commande find
    Par gangsoleil dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 21/04/2006, 17h43
  4. La commande find
    Par Invité4 dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 22/03/2005, 14h46
  5. Command.Execute laisse le recordset ouvert
    Par Immobilis dans le forum ASP
    Réponses: 10
    Dernier message: 16/02/2005, 17h32

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