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

Récupérer la réponse de ma requête sur une deuxième page puis afficher le résultat ?


Sujet :

ASP.NET

  1. #1
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut Récupérer la réponse de ma requête sur une deuxième page puis afficher le résultat ?
    Bonsoir (encore),

    Toujours avec ma BD Oracle, je fais une petite recherche au niveau des voyages disponibles dans ma BD. Si y a une corréspondance, je redirige vers une autre page pour afficher les informations sinon j'affiche un msgbox comme quoi il y a pas de correspondance.

    Je me demande comment faire pour transférer mon datareader Oracle vers la page résultat et afficher ses données ?

    Merci.

  2. #2
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Tu as plusieurs possiblités. La première : enregistrer en Session des données. Mais en pensant à mettre un identifiant propre à ton voyage, sinon l'user ne pourra jamais ouvrir plusieurs instances de ta page (il aura toujours les même données).

    Maintenant, il faut éviter de stocker trop de données en Session. Ce n'est pas prévu pour ça.

    Tu peux toujours utiliser un QueryString pour passer ton id voyage à ta seconde page et c'est elle qui s'occupera de chercher les données en base.

    En espérant t'avoir aidé.

  3. #3
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    J'ai pensé aussi à utiliser une variable de session pour mes données. Mais le soucis est que mon Reader va contenir plusieurs champs du coup je pense pas que ça sera trop possible.

    Sinon si je récupère juste l'ID je devrais utiliser une deuxième requête encore dans la page de résultat non ?

    De plus, comment je vais faire pour inclure mon code dans une page purement HTML ?

  4. #4
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Citation Envoyé par Hot_Abd Voir le message
    J'ai pensé aussi à utiliser une variable de session pour mes données. Mais le soucis est que mon Reader va contenir plusieurs champs du coup je pense pas que ça sera trop possible.
    Rien ne t'empêche de stocker une DataTable complète avec 50 champs et 10.000 lignes en Session. Je ne te le recommande simplement pas car il faut bien savoir gérer cela, connaître les impacts en mémoire sur le Serveur, etc... De plus la Session n'est pas prévue pour cela. Donc vu ton niveau => à éviter.

    Citation Envoyé par Hot_Abd Voir le message
    Sinon si je récupère juste l'ID je devrais utiliser une deuxième requête encore dans la page de résultat non ?
    C'est l'inconvénient de cette méthode. Mais une petite requête sur un ID précis s'exécute quasi instantanément donc c'est pas un problème.

    Citation Envoyé par Hot_Abd Voir le message
    De plus, comment je vais faire pour inclure mon code dans une page purement HTML ?
    Hein, quoi ??

  5. #5
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Dans ma page de rechèrche j'ai ceci :

    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
     
    If (t1.Text = "" And t2.Text = "") Then
                MsgBox("Les champs sont obligatoires")
            Else
                conn.Open()
                cmd = conn.CreateCommand
                sql = "SELECT ref_destination FROM destination where nom_destination='" & t2.Text & "'"
                cmd.CommandText = sql
                myreader = cmd.ExecuteReader()
                If myreader.Read() Then
                    Session("destination") = myreader
                    Response.Redirect("search.aspx")
                Else
                    MsgBox("Aucune correspondance pour votre rechèrche !")
                End If
            End If
    Dans la page d'affichage je met ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <% =Session("destination")%>
    Ce qui m'affiche : System.Data.OracleClient.OracleDataReader

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Ne jamais transférer un DataReader à ton site web !!!!

  7. #7
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Oui mais là faut arrêter avec les questions bêtes

    Je t'invite à consulter un tuto sur comment utiliser un DataReader, et également cette info : la Session stocke tout sous forme d'object, donc quand tu veux lire son contenu => tu dois faire un cast sur le bon type que tu as enregistré.

    Sinon, je rejoins lutecefalco dans ses propos, le DataReader ne doit pas être utilisé comme cela. A la rigueur tu stockes une string ou un object représentant tes données.....

    Bref comme je le disais, vu ton niveau lis de la documentation sur l'utilisation de l'objet Session avant de vouloir faire ça...

  8. #8
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Le fait dêtre débutant dans une matière donnée veut pas dire que je pose des questions bêtes. Peut être pour toi c'est le cas puisque t'y connais, mais pour moi tout ceci est bien nouveau !

    Comment récupérer les résultat du DataReader dans une 2ème page est une question bête tu trouves!

    Tu me brises le coeur

  9. #9
    Membre averti
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2007
    Messages
    489
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Qatar

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2007
    Messages : 489
    Points : 334
    Points
    334
    Par défaut
    Voilà, dites moi que c'est une mauvaise idée et je vais envisager autre chose c'est simple non

    De toute façon toutes vos remarques ne peuvent être que bénéfiques pour moi en matière ASP.

    Merci à vous ( Nicolas et lutecefalco ) et bon début de semaine.

    @Suivre ^^!

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

Discussions similaires

  1. Requête sur une vue et temps de réponse
    Par shaun_the_sheep dans le forum SQL
    Réponses: 47
    Dernier message: 20/02/2012, 13h21
  2. recupere un "object" sur une autre page puis l'afficher sur la page actuel
    Par ernestrenan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 03/10/2011, 09h21
  3. Réponses: 8
    Dernier message: 23/09/2011, 15h50
  4. Récupérer les valeur sur une deuxième page
    Par Msysteme dans le forum ASP.NET
    Réponses: 4
    Dernier message: 02/03/2009, 18h10
  5. Comment récupérer la liste des logiciels installés sur une machine ?
    Par david_chardonnet dans le forum API, COM et SDKs
    Réponses: 3
    Dernier message: 19/09/2003, 17h41

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