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 :

Aide Record Set + 2 requetes


Sujet :

ASP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Aide Record Set + 2 requetes
    Bonsoir à tous,

    Heureux de faire parti de votre communauté.
    Je suis un débutant dans l'ASP et j'aurais une question qui va sembler bête !

    J'ai une page ASP avec 2 requetes SQL j'utilise While not RS.eof et wend pour parcourir les différents lignes de ma première requete SQL.
    Cependant comment comment puis-je incrémenter une seconde requete toujours en utilisant RS.movenext pour parcourir ma 2eme requete ?

    ex :

    ouverture de ma 1ere base SQL
    requete sur ma 1ere base
    While not RS.eof

    ouverture de ma 2ebase SQL
    requete sur ma 2e base


    Wend
    RS.movenext

    Le probleme la c'est qu'il ne change pas d'enregistrement sur ma 2e requete.

    Merci pour votre aide.

    A++

  2. #2
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    Si tu as 2 RecordSet a parcourrir, ben il te faut 2 boucle donc 2 while
    sauf si tu est a 100% sure que les 2 recorset ont strictement le même nombre de résultats, dans ce cas, tu pourras une même boucle pour parcouris les 2 recordset
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <%
    ' attetion les 2 rs on le même nombre de résultat
    Do While Not rs1.EOF
    ' tratement
     rs1.movext, 
     rs2.movext, 
    loop
    %>
    si tu n'as pas le même nombre de résultat, ben il te faut 2 boucles
    dans certain cas, le 1er recorset permet d'obtenir des valeurs pour faire des requête avec le 2 second recordset, dans ce cas il faut 2 boucle imbriqué.

    Que veux tu faire exactement

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Salut,

    Merci de ta réponse !
    En effet les 2 recordset n'ont pas le même nombre d'enregistrements !
    Et je récupére une variable de ma 1ere requete pour tester la valeur d'un champs de la 2e requete pour remplir un fichier CSV.



    Ex de mon code :

    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    set rs = Server.CreateObject("ADODB.Recordset")
    set rst = Server.CreateObject("ADODB.Recordset")
    1ere requete :
    rstr = "SELECT * FROM toto "
    RST.Open rstr,Connsql
    while not rst.eof
    2e requete :
    Code asp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    rstr = "SELECT * FROM toto where =' "& variable & ""
    RST.Open rstr,Connsql2
     
    RS.MoveNext
    Wend


    Donc ma question est de savoir ou je positionne mon While not et mon movenext pour ma 2e requete !

    J'espère avoir était clair

    Par avance merci de vos réponses!

  4. #4
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    je récupére une variable de ma 1ere requete pour tester la valeur d'un champs de la 2e requete
    Pourquoi pas une requête avec une jointure ?

    On vérra ça plus tard

    quand tu dis tester la valeur d'un champs dans ta 2emme requête, est ce que tu veux dire que tu veux tester cette valeur pour toutes les lignes de ta seconde requete ?
    ex imagine que ta 2emme requette renvoi un truc comme ci-dessous
    ligne champ
    1 valeur1
    2 valeur2
    3 valeur1
    4 valeur4

    et que la valeur testé est "valeur2", que veux tu faire ?
    Parcourrir toutes les ligne pour vérifier si tu le trouve ? compter le nombre de fois que tu le trouve ? Touver la ligne ou tu le trouve (pour obtenir les autre valeurs renvoyés par la requêtes)

    Que veux tu faire?

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Je ne peux pas faire une jointure car ce sont 2 bases sur 2 serveurs SQL différents ( avec un champ en commun qui est la variable en question)

    Je veux en effet tester toutes les lignes de ma seconde requêtes jusqu'à je trouve cet enregistrement à l'aide la variable récupérer de ma 1ère requete afin d'obtenir les autres valeurs renvoyés par la seconde requête et en tester une en particulier pour l'incrémenter dans un fichier d'import.

    Désolé si je ne suis pas très clair et merci de tes réponses!

  6. #6
    Membre actif Avatar de Cpas2latarte
    Inscrit en
    Janvier 2006
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 237
    Points : 255
    Points
    255
    Par défaut
    Je ne peux pas faire une jointure car ce sont 2 bases sur 2 serveurs SQL différents ( avec un champ en commun qui est la variable en question)
    la j'ai compris ce que tu voulais
    et pour cela il te faut 2 boucle imbriqué

    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
     
    ' sera utilisé pour la bcl principale
    set rs = Server.CreateObject("ADODB.Recordset")
     
    ' sera utilisé pour la bcl intérieur
    set rst = Server.CreateObject("ADODB.Recordset")
     
    ' préparation de la boucle principale
    rsr = "SELECT * FROM toto "
    RS.Open rstr,Connsql
    ' boucle principale
    Do While Not rs.eof 
     
       ' préparation de la seconde requête
       rstr = "SELECT * FROM toto where =' "& variable & ""
       RST.Open rstr,Connsql2
       ' boucle intérieur
       Do While Not RST.eof
         ' ici ton test 
     
         RST.moveNext
       Loop
       ' apres la boucle intérieur, on ferme le second recordset
       ' pour l'itération suivante de la boucle principale
       RST.Close
     
       rs.moveNext
    Loop
     
    ' ici on a plus besoin des recodset on les détruit
    ' RST est déja fermé
    Set Rst =  nothing
     
    rs.close
    Set rs = nothing
    Cela dit :
    sont 2 bases sur 2 serveurs SQL différents
    en sqlserver, tu peux reqûéter sur un autres sql serveur (regarde la doc de sqlserver, la fonction openrowset et onpenquery)

  7. #7
    Candidat au Club
    Profil pro
    Inscrit en
    Août 2007
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Ok j'ai compris le principe !

    Merci beaucoup de ton aide !


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

Discussions similaires

  1. [VB6] ne reconnait pas Record set
    Par Husqvarna dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 31/05/2006, 21h29
  2. Réponses: 1
    Dernier message: 22/04/2006, 20h02
  3. demande d'aide pour faire un requete sql
    Par carmen256 dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2006, 10h50
  4. Besoin d'aide pour une sous requete
    Par Celia1303 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 12/10/2005, 15h09
  5. Aide pour optimiser une requete
    Par Akanath dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/09/2005, 12h05

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