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

Développement Web avec .NET Discussion :

Mettre le résultat d'une requête dans des textbox


Sujet :

Développement Web avec .NET

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut Mettre le résultat d'une requête dans des textbox
    Bonjour
    j'ai fait une fonction qui me ramène plusieurs résultats , et je veux mettre ces résultats dans des zones de textes.

    voici la fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     Public Function Calcul() As OleDbCommand
    Dim maCnx As New OleDbConnection
    maCnx.ConnectionString = "FILE NAME=D:\cn.udl"
    maCnx.Open()
    Dim maCommande As OleDbCommand
    maCommande = maCnx.CreateCommand
    maCommande.CommandType = Data.CommandType.Text
    maCommande.CommandText = "select question from questionnaire"
    Return maCommande
    End Function
    est-ce que quelqu'un a une solution
    merci d'avance

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Pour commencer, ExecuteScalar ne renvoie qu'un résultat... Pour pouvoir lire plusieurs résultats, il faut que tu utilises ExecuteReader, et que tu boucles sur le reader obtenu tant qu'il y a des lignes à lire.

    Ensuite, qu'est-ce que tu entends par "des" zones de texte ? elles existent déjà ? tu les crées à la volée ?

    Ta question n'est pas assez précise pour qu'on puisse te répondre...

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    Bonjour

    j'ai écrit cette fonction qui me ramène plusieurs résultats :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        Public Function Calcul() As OleDbCommand
            Dim maCnx As New OleDbConnection
            maCnx.ConnectionString = "FILE NAME=D:\cn.udl"
            maCnx.Open()
            Dim maCommande As OleDbCommand
            maCommande = maCnx.CreateCommand
            maCommande.CommandType = Data.CommandType.Text
            maCommande.CommandText = "select question  from questionnaire"
            Return maCommande
        End Function
    mais le problème c'est que j'arrive pas à récupérer ces résultats dans des textbox , j'arrive seulement à récupérer le premier enregistrement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
            Dim reader As String
            reader = Calcul().ExecuteScalar.ToString
            TextBox2.Text = reader
        End Sub
    Est-ce qu'il y a une solution pour récupérer tous les enregistrements dans des textbox différents?
    pour les textbox j'ai 5 textbox que j'ai déjç crée car je sais que la requete va me renvoyer 5 résultats

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Comme je le disais, il faut utiliser ExecuteReader et faire un boucle :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            Using reader As OleDbDataReader = Calcul().ExecuteReader()
                While reader.Read()
                    Dim question As String = reader.GetString(0)
                    ' Ajoute la question sur une nouvelle ligne dans la TextBox
                    TextBox1.Text = TextBox1.Text + vbCrLf + question
                End While
            End Using
     
        End Sub
    Pour remplir plusieurs TextBox, le plus simple est de les mettre dans un tableau et d'avancer dans le tableau au fur et à mesure de la lecture :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
        Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
     
            Dim textBoxes As TextBox() = { TextBox1, TextBox2, TextBox3, TextBox4, TextBox5 }
            Using reader As OleDbDataReader = Calcul().ExecuteReader()
                Dim i As Integer = 0
                While reader.Read() AndAlso i < textBoxes.Length
                    Dim question As String = reader.GetString(0)
                    ' Ecrit la question dans la TextBox à la position i
                    textBoxes(i).Text = question
                    i = i + 1
                End While
            End Using
     
        End Sub

  5. #5
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Janvier 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2008
    Messages : 187
    Points : 73
    Points
    73
    Par défaut
    ça marche
    merci tomlev pour ton aide

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/09/2011, 14h40
  2. Réponses: 5
    Dernier message: 14/01/2010, 17h44
  3. Mettre le résultat d'une requête dans un tableau
    Par rolls dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 22/12/2008, 21h11
  4. [SQL] Mettre le résultat d'une requête dans une variable
    Par temperature dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/01/2008, 13h47
  5. Réponses: 2
    Dernier message: 27/03/2007, 01h19

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