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

VB.NET Discussion :

VB.NET Recupéré valeur de la BDD dans zone de liste


Sujet :

VB.NET

  1. #21
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Ahhh, celle-là je l'avais jamais vue !!!
    Pourrais-tu faire un test sur SQL, stp? Tu crées une nouvelle requete, et tu remets ton "Select...", sauf qu'à la fin, au lieu de mettre idchev, tu mets le code correspondant. Après, tu sélectionnes ta requete, tu fais executer, et tu me dis ce que tu trouves. Parce que là...

  2. #22
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Voila j'ai executé cette requete dans Access et cela me donne le bon resultat :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT NumSire, Nom, NomC, PrenomC, Cavalier.NumLicence 
    FROM Cavalier, Cheval 
    Where Cheval.NumLicence = Cavalier.Numlicence 
    and Cheval.NumSire = 1

  3. #23
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    OK, ça c'est ta requete, et le résultat c'est quoi ?

  4. #24
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Voici le resultat
    Images attachées Images attachées  

  5. #25
    Membre confirmé
    Inscrit en
    Mai 2009
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Mai 2009
    Messages : 99
    Par défaut
    "Aucune ligne à la position 1"
    N'est ce pas tout simplement car ta requête ne renvoie qu'un seul et unique résultat ? Si c'est le cas essaye de commencer le traitement de tes données à la ligne 0.

    Il doit chercher à la ligne 1 ( et donc la 2ème ligne ), s'il n'y a qu'un résultat il mettra logiquement cette erreur.

    Je sais pas pour Access mais dans beaucoup de language c'est le cas.

  6. #26
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    J'ai deja essayé a la ligne 0 mais il me met aussi qu'il n'y a pas de resultat pourtant dans ma table Cheval j'ai 3 enregistrements

  7. #27
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Si ça fonctionne sous Access, ça veut dire que le problème vient de ta requete, ou plutôt, de la façon d'envoyer ta requete. Tu peux remettres le code de tout l'évenement, comme tu avais fait au début, mais version mise à jour ? Parce qu'il doit y avoir un truc qui lui plait pas...

  8. #28
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Alors le code qui s'effectue au chargement du formulaire :
    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
    Private Sub FrmVisuChevaux_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'CHARGEMENT DU FORMULAIRE
            Try
                maConnexion.Open()
                MsgBox("ok")
     
                sqlcheval = "SELECT NumSire,Nom,NomC,PrenomC,Cavalier.NumLicence "
                sqlcheval &= "FROM Cavalier, Cheval "
                sqlcheval &= "Where Cheval.NumLicence = Cavalier.Numlicence "
                sqlcheval &= "and Cheval.NumSire = 1"
                maCommandCheval.CommandText = sqlcheval
                maCommandCheval.Connection = maConnexion
                monDACheval.SelectCommand = maCommandCheval
                monDACheval.Fill(datasetcheval, "liste des chevaux")
                maDTChev = datasetcheval.Tables("liste des chevaux")
     
                Cbxpropriochev.DataSource = maDTChev
                Cbxpropriochev.ValueMember = "NumLicence"
                Cbxpropriochev.DisplayMember = "NomC"
     
                Ecrirechevaux(idchev, numlicence)
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
            maConnexion.Close()
        End Sub
    Et le code qui permet d'afficher mes enregistrements :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Ecrirechevaux(ByVal numchev As Integer, ByVal numlicence As Integer)
            chevalenreg = maDTChev.Rows(numchev)
            Txtbnomchev.Text = chevalenreg("Nom")
            Txtbnumsiret.Text = chevalenreg("NumSire")
            proprioenreg = maDTChev.Rows(numlicence)
            Cbxpropriochev.Text = proprioenreg("NomC")
     
        End Sub

  9. #29
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Tu me diras, c'est ridicule, il n'y a pas de raisons que ça change tout... mais bon, tu peux toujours essayer...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    sqlcheval = "SELECT Cavalier.NumLicence, NomC, PrenomC, NumSire, Nom "
    sqlcheval &= "FROM Cavalier, Cheval "
    sqlcheval &= "Where Cheval.NumLicence = Cavalier.Numlicence "
    sqlcheval &= "and Cheval.NumSire = 1"
    maCommandCheval.CommandText = sqlcheval
    maCommandCheval.Connection = maConnexion
    monDACheval.SelectCommand = maCommandCheval
    monDACheval.Fill(datasetcheval, "liste des chevaux")
    maDTChev = datasetcheval.Tables("liste des chevaux")
     
    Cbxpropriochev.DataSource = maDTChev
    Cbxpropriochev.ValueMember = "NumLicence"
    Cbxpropriochev.DisplayMember = "NomC"
    J'ai juste changé l'ordre dans ton select...

  10. #30
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Sa fait toujours la même chose :/
    Par contre j'ai oublié de te dire que quand je "valide" le message d'erreur il m'affiche donc mon interface graphique et que la zone de liste prend quand même comme valeur le nom du propriétaire .
    Sa fait que mon NumSire et mon Nom de cheval ne s'affiche pas par contre le propriétaire oui....

  11. #31
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Tu devrais séparer ce que tu veux afficher dans ton combo concernant les cavaliers, et celui concernant les chevaux. Fais donc une requete sans NumSire et Nom du cheval, et une autre avec. Au pire, ça coupera ton problème en deux... Au mieux, tu n'auras plus de problèmes...

  12. #32
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    En fait tu propose que je face comme au depart ?
    Une requete pour les chevaux et une requete pour mes cavaliers ?

    Sinon On ne se casse plus la tête j'affiche dans une zone de texte et tanpis pour la modification je trouverai un autre moyen !

    Non mais je suis bete, même si j'utilise une zone de texte c'est pareil puisque la requete ne veut pas m'affiche le bon propriétaire -_-

  13. #33
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Oh, si tu ne veux pas revenir à ce que tu as fais avant, tu peux aussi faire 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
    17
    18
    19
    sqlcheval = "SELECT NomC,PrenomC,Cavalier.NumLicence "
    sqlcheval &= "FROM Cavalier, Cheval "
    sqlcheval &= "Where Cheval.NumLicence = Cavalier.Numlicence "
    sqlcheval &= "and Cheval.NumSire = 1"
    sqlcheval &= "Select NumSire,Nom "
    sqlcheval &= "From Cheval "
    sqlcheval &= "Where NumSire = 1"
    Dim Rech As New SqlClient.SqlCommand(sqlcheval, Base)
    Rech.ExecuteReader()
    If Rech.Read = True Then
          Cbxpropriochev.Text = Rech("NomC")
    End If
     
    Rech.NextResult()
    If Rech.Read = True Then
       Txtbnomchev.Text = Rech("Nom")
       Txtbnumsiret.Text = Rech("NumSire")
    End If
    Rech.Close ()
    Bon, il faut, bien sûr que tu adaptes ton code, parce qu'il y a des objets que je ne sais pas tout à fait exploiter, mais bon... En gros, ce que j'ai fait, c'est de mettre un DataReader à la place de ton DataTable, comme ça, pendant que ton DataReader lit dans ta base, il écrit en même temps les données qui vont bien. Enfin, normalement

  14. #34
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    D'accord je vais essayer ! Par contre je ne voie pas ce qu'il faut mettre a la place de "Base" sur cette ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Rech As New SqlClient.SqlCommand(sqlcheval, Base)

  15. #35
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    "Base" symbolise la connection à la base de données. J'ai une classe qui le gère directement, mais toi tu dois créer un objet "connection".

  16. #36
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Oui c'est exacte mais j'ai déjà essayé ma variable de connexion et cela ne prend pas se type apparemment !! :s
    Voici ma variable qui permet la connexion :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim maConnexion As New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=..\GestConcours.mdb;Persist security Info=false")

  17. #37
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Et quand tu veux travailler sur ton objet command, tu peux faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Rech As New SqlClient.SqlCommand(sqlcheval, maConnexion)
    Non ?
    Sinon, tu remplace Rech par un objet DataReader (que je ne sais pas manipuler, désolée), et tu reprends le code que j'ai mis à partir de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Rech.read = True Then ...

  18. #38
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Je pense que tu vas m'insulter....
    Une erreur débile au possible....
    Je n'avais pas fait +1 ou -1 sur mes propriétaire du coup quand je cliquai sur suivant ou précédant bahh sa marchait pas ....
    J'ai aussi remplacer ma combobox par une textbox car mon prof m'a dit qu'il ne fallait pas afficher dedans...

  19. #39
    Membre éprouvé
    Inscrit en
    Avril 2009
    Messages
    99
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 99
    Par défaut
    Et du coup, ça donne quoi ? Ça fonctionne ?

  20. #40
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 164
    Par défaut
    Ouaip tous s'affiche correctement et défile selon les bonnes valeurs !!
    Désolé de t'avoir fait perdre ton temps :s

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [Débutant] Comment recupérer valeur d'un textbox dans un état crystal report
    Par ronot dans le forum ASP.NET
    Réponses: 0
    Dernier message: 07/02/2013, 20h23
  2. Récupérez des valeurs de la Bdd dans une listBox (MVC3)
    Par Fra212 dans le forum Entity Framework
    Réponses: 4
    Dernier message: 28/02/2012, 14h22
  3. Réponses: 4
    Dernier message: 11/04/2007, 17h03
  4. [MySQL] Affichage d'une valeur de la bdd dans un input
    Par leloup84 dans le forum PHP & Base de données
    Réponses: 13
    Dernier message: 23/02/2006, 13h28

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