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 :

Problème avec mon datareader.


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut Problème avec mon datareader.
    Bonjour,

    Je débute en VB.net avec mysql.

    J'ai une classe qui gère ma connexion avec mysql

    cl.mysql.vb
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
     
    Imports MySql.Data.MySqlClient
    Public Class cl_mysql
     
        Dim conn As New MySqlConnection 'Adresse pour se connecter a la DB MySQL.
        Dim dta As MySqlDataAdapter 'Data adapter
        Dim dts As New DataSet 'Dataset
        Dim dtr As MySqlDataReader 'datareader
        Dim cmd As MySqlCommand
        Dim str_requete As String 'Chaine ou sera stocker les requetes
     
        'fonction d'enregistrement des variables user , pass ,serveur et eventuellement database 
        Function FONC_CONN(ByVal str_adresse As String, ByVal str_user As String, ByVal str_mdp As String, ByVal str_nom_db As String)
            'on ferme la connection si jamais elle existe
            conn.Close()
     
            'on attribut les variables de la nouvelle connection
            conn.ConnectionString = "Server=" & str_adresse & ";" _
                                 & "User ID=" & str_user & ";" _
                                 & "Password=" & str_mdp & ";" _
                                 & "Database=" & str_nom_db & ""
            Return 1
        End Function
        'charger une table dans un dataset
        Function FONC_CHARGE_TABLE_DATASET(ByVal str_table As String)
            'on clear le dts si jammais il y a quelque chose
            dts.Clear()
            Try
                str_requete = "SELECT * FROM " & str_table & ""
                'on ouvre la connection
                conn.Open()
                'on execute la requete
                dta = New MySqlDataAdapter(str_requete, conn)
                'on rempli le dts avec la table demandée
                dta.Fill(dts, str_table)
                'on retourne le dts
                Return dts
                'si il y a une erreur
            Catch myerror As MySqlException
                'afficher le msg d'erreur
                MessageBox.Show("Error Connecting to Database: " & myerror.Message)
                Return 0
            End Try
     
        End Function
        'charger une table dans un datareader   
        Function FONC_CHARGE_TABLE_DATAREADER(ByVal str_table As String)
     
            Try
                str_requete = "SELECT * FROM " + str_table + ""
                'on ouvre la connection
                If conn.State = 0 Then conn.Open()
                'on execute la requete
                cmd = New MySqlCommand(str_requete, conn)
                dtr = cmd.ExecuteReader
                Return dtr
            Catch myerror As MySqlException
                'afficher le msg d'erreur
                MessageBox.Show("Erreur de connexion à la base de donnée: " & myerror.Message)
                Return 0
            End Try
     
        End Function
        'fonction pour enregistrer la base modifier ( on envoi en paramettre la table en cours )
        Function FONC_ENR_DB(ByVal data As DataSet, ByVal str_table As String)
            Try
                'commande de mise a jour de la base
                Dim MyCommBuild As New MySqlCommandBuilder(dta)
                dta.Update(data, str_table)
                Return 1
            Catch err As Exception
                'si erreur on affiche l'erreur et on charge la table de la base
                MsgBox(err.Message, MsgBoxStyle.Exclamation, "error")
                dts = New DataSet
                str_requete = "SELECT * FROM " + str_table + ""
                dta = New MySqlDataAdapter(str_requete, conn)
                dta.Fill(dts, str_table)
                Return dts
                Exit Function
            End Try
        End Function
        'fonction pour requete specifique
        Function FONC_REQ_MYSQL(ByVal query As String)
            dts.Clear()
            Try
                str_requete = query
                conn.Open()
                'on execute la requete
                dta = New MySqlDataAdapter(str_requete, conn)
                dta.Fill(dts)
                Return dts
                'on renvoi la table
            Catch myerror As MySqlException
                MessageBox.Show("Error Connecting to Database: " & myerror.Message)
                Return 0
            End Try
        End Function
     
    End Class
    Ensuite j'ai une form1.vb

    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
     
    Imports Agenda_coiffure.cl_mysql
    Imports MySql.Data.MySqlClient
     
    Public Class Form1
     
        'creer une instance de la class cl_mysql
        Dim db As New cl_mysql
        Dim dts As New DataSet
        Dim dtr As MySqlDataReader
     
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                db.FONC_CONN("127.0.0.1", "root", ";", "agenda_coiffure")
                'dts = db.FONC_CHARGE_TABLE_DATAREADER("tbl_statut")
                dtr = db.FONC_CHARGE_TABLE_DATAREADER("tbl_statut")
                While dtr.Read()
                    ListView1.Items.Add(dtr.GetString(1))
                End While
     
            Catch ex As Exception
     
            End Try
        End Sub
    End Class
    Mon problème est que je n'arrive pas à récupérer les données de ma table: "TBL_statut" dans mon datareader==> dtr via la classe .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    dtr = db.FONC_CHARGE_TABLE_DATAREADER("tbl_statut")
                While dtr.Read()
                    ListView1.Items.Add(dtr.GetString(1))
                End While
    Je n'ai aucun message d'erreur, ma listview esr vide.
    Je suis bien connecté a ma base de données.

    Si quelle qu'un a une solution a me donner
    ps: je suis débutant

    Merci d'avance

  2. #2
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    bonjour,
    je ne trouve nullpart ton conn.Open()

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut
    Dans la
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Function FONC_CHARGE_TABLE_DATASET(ByVal str_table As String)
    se trouve conn.open.

    Merci

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    661
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2006
    Messages : 661
    Par défaut
    Beu je viens d'exécuter le projet ca marche maintenant .

  5. #5
    Membre Expert
    Avatar de azstar
    Homme Profil pro
    Architecte Technique BizTalk/.NET
    Inscrit en
    Juillet 2008
    Messages
    1 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Technique BizTalk/.NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 198
    Par défaut
    tres bien

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/06/2006, 19h48
  2. [Mail] Problème avec mon script d'envoi de mail
    Par leroivert dans le forum Langage
    Réponses: 18
    Dernier message: 02/12/2005, 00h26
  3. Problème avec mon service mysql et PhpMyAdmin
    Par Fixazo dans le forum Outils
    Réponses: 1
    Dernier message: 28/08/2005, 18h02
  4. problème avec mon lecteur CD
    Par leo13 dans le forum Périphériques
    Réponses: 3
    Dernier message: 16/08/2005, 11h21
  5. Problème avec mon firewall ...
    Par Wis dans le forum Tomcat et TomEE
    Réponses: 15
    Dernier message: 06/04/2004, 08h46

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