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

Accès aux données Discussion :

[VB.Net] Comment récupérer dans un textbox une donnée BDD ?


Sujet :

Accès aux données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 29
    Par défaut [VB.Net] Comment récupérer dans un textbox une donnée BDD ?
    Bonjour,

    Je débute en vb.net (j'apprends sur le tas dans le cadre du stage) et c'est vraiment galère. De toutes les infos que j'ai trouvées, rien ne fonctionne ...

    J'explique : je suis connectée à une base access (connexion ok pas de problème), je fais un ExecuteReader (qui passe bien à priori) et je voudrais afficher la valeur lue dans 1 textbox, sachant que je ne récupère qu'une et une seule valeur.

    Quelqu'un pourrait-il m'aider car je desespère ...
    Merci pour votre aide, à bientôt

  2. #2
    Membre Expert Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Par défaut
    Tu as pensé à lire ton sql reader ?
    tu dois avoir quelque chose dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SqlDataReader Reader = command.executeReader();
    Reader.Read();
    //et enfin
    Reader.GetInt32(0);
    Reader.GetValue(0);
    //etc.....

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 29
    Par défaut
    Voilà mon code :

    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
     
     
    Try
      maConnexion.ouvrir()
     
      Dim req_select As String = "select " + laTable + "." + leChamp + " from "
     + laTable + " where " + clause_where + "'" + laTextBox + "'"
     
      Dim myCommand As New OleDb.OleDbCommand(req_select)
     
      Dim myReader As OleDb.OleDbDataReader
      myReader = myCommand.ExecuteReader
     
      If myReader.HasRows Then
     
       While myReader.Read()
         projet.TextBox_num_proj_modif.Text = myReader.GetString(5)
       End While
     
      Else
        MsgBox("ElseError : Aucune donnée trouvée.")
     
      End If
     
    Catch ex As Exception
       MsgBox(ex.Message)
     
    Finally
      maConnexion.fermer()
     
    End Try
    toutefois je me demande si il n'y a pas un problème ailleurs car maintenant j'ai un message d'erreur m'informant que la propriété connection n'a pas été initialisée alors que je n'y ai pas touché ... et que tout passait bien jusque là.

    vraiment pas facile le vb .... ;-)

  4. #4
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    peux-tu nous donner le message d'exception exact stp, je subodore que celà vient de tes méthodes maConnexion.ouvrir() et maConnexion.fermer()
    Fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    '...
    Catch ex As Exception
       MsgBox(ex.ToString())
    Finally
      ' ici liberer non seulement la connection mais avant également le DataReader 
    '...
    pour celà il faut faire ton bloc des déclarations avant le bloc try/catch
    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
    Dim req_select As String = "select " + laTable + "." + leChamp + " from "
    + laTable + " where " + clause_where + "'" + laTextBox + "'"
    Dim myCommand As OleDb.OleDbCommand = Nothing
    Dim myReader As OleDb.OleDbDataReader = Nothing
     
    Try  
    myCommand = New OleDb.OleDbCommand(req_select,maConnexion)
      maConnexion.ouvrir()
      myReader = myCommand.ExecuteReader()
     
      If myReader.HasRows Then
       ' si tu es sûr de ne recevoir qu'une seule valeur, celà doit suffire
       projet.TextBox_num_proj_modif.Text = myReader.GetString(5) 
      Else : MsgBox("Aucune donnée trouvée.") 
      End If
    '...

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    29
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France, Marne (Champagne Ardenne)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 29
    Par défaut
    merci pour la réponse

    je ne peux pas libérer le reader dans le finally car il me dit qu'il est pas déclaré mais ça passe après le while.

    oups j'avais oublié une ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Dim myCommand As New OleDb.OleDbCommand(req_select)
    myCommand.Connection = maConnexion
    je suis sûre qu'il n'y a qu'une valeur retournée

    les méthodes ouvrir() et fermer() fonctionnent bien, je les ai testé sur autre chose et j'ai pas de problème, par contre je doute quand au bon fonctionnement de la prog objet ...

    j'ai fait les petites modif, la seule erreur est un problème de syntaxe dans ma requète

    mais je n'arrive toujours pas à récupérer dans la textbox :-(

  6. #6
    Expert confirmé
    Avatar de neguib
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 627
    Détails du profil
    Informations personnelles :
    Âge : 65
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 627
    Par défaut
    Citation Envoyé par zzzmoi
    ..je ne peux pas libérer le reader dans le finally car il me dit qu'il est pas déclaré ..
    Ben oui si tu n'as pas fait tes déclarations en dehors du catch comme je te l'ai montré

    Citation Envoyé par zzzmoi
    .. .les méthodes ouvrir() et fermer() fonctionnent bien, je les ai testé sur autre chose et j'ai pas de problème..
    Si tu le dis , cependant je persiste à dire qu'elle sont inutiles puisque les méthodes Open et Close sont natives pour les objets Connection

    Citation Envoyé par zzzmoi
    .. par contre je doute quand au bon fonctionnement de la prog objet ..
    çà c'est la meilleure de l'année

    Allez montre moi ces fameuse méthodes qui fonctionnent "ailleurs" mais peut être pas
    Bon tu nous montres le message d'exception exact

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/02/2018, 14h47
  2. [VB.Net] Comment récupérer les proprietes d'une image ?
    Par Cirdan Telemnar dans le forum VB.NET
    Réponses: 2
    Dernier message: 29/06/2006, 16h15
  3. Réponses: 1
    Dernier message: 05/05/2006, 14h37
  4. [ADO.Net][C#] Comment récupérer des infos d'une table SQL ?
    Par lamojuli dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/01/2006, 16h00
  5. Réponses: 2
    Dernier message: 18/07/2005, 14h06

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