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 :

Convertir des dataview en mysqldatareader


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 34
    Par défaut Convertir des dataview en mysqldatareader
    Bonjour, j'aimerais simplifier une action que je fais plusieurs fois, ce qui devient vite lourd en 1 seul fonction que j'appelle à chaque fois. Du coup voilà le code original :
    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 mysqlconn As MySqlConnection = connectionBDD()
            Dim commande As MySqlCommand
            Dim READER As MySqlDataReader
            Try
                Dim Query As String
                Query = "SELECT id, name FROM glpi_entities"
                commande = New MySqlCommand(Query, mysqlconn)
                READER = commande.ExecuteReader
                While READER.Read
                    Cbbox_choientite.Items.Add(New ListItem(READER.GetInt32("id"), READER.GetString("name")))
                End While
                mysqlconn.Close()
            Catch ex As MySqlException
                MessageBox.Show(ex.Message)
            Finally
                mysqlconn.Dispose()
            End Try
    Je suis en train de la diviser pour en faire une fonction et voilà l'erreur :

    Impossible de convertir une valeur de type 'MySql.Data.MySqlClient.MySqlDataReader' en 'System.Data.DataView'

    Je met ça dans mon fichier fonction :
    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
        Function Remplir_entite_BDD(ByVal requete As String) As DataView
            Dim mysqlconn As MySqlConnection = connectionBDD()
            Dim commande As MySqlCommand
            Dim READER As MySqlDataReader
            Dim returner As DataView
            Try
                commande = New MySqlCommand(requete, mysqlconn)
                READER = commande.ExecuteReader
                Return READER
                mysqlconn.Close()
            Catch ex As MySqlException
                MessageBox.Show(ex.Message)
            Finally
                mysqlconn.Dispose()
            End Try
        End Function
    et ceci dans mon fichier form1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
            Dim READER As MySqlDataReader = Remplir_entite_BDD("SELECT id, name FROM glpi_entities")
                While READER.Read
                    Cbbox_choientite.Items.Add(New ListItem(READER.GetInt32("id"), READER.GetString("name")))
                End While
    Pouvez-vous m'aider svp?

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 34
    Par défaut
    J'ai donc trouvé la solution, j'avais vraiment la tête dans le guidon !

    voilà la solution pour ceux qui veulent :
    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
        Function Remplir_entite_BDD(ByVal requete As String) As DataView
            Dim mysqlconn As MySqlConnection = connectionBDD()
            Dim commande As MySqlCommand
            Dim Adaptateur As MySqlDataAdapter
            Dim resultmySql As DataView
            Dim DS_resultmySql As New DataSet
            Try
                commande = New MySqlCommand(requete, mysqlconn)
                Adaptateur = New MySqlDataAdapter(commande)
                Adaptateur.Fill(DS_resultmySql, "rqt")
                resultmySql = New DataView(DS_resultmySql.Tables("rqt"))
                mysqlconn.Close()
            Catch ex As MySqlException
                resultmySql = Nothing
                MessageBox.Show(ex.Message)
            End Try
            Return resultmySql
        End Function
    et sur ma form :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            Dim resultSQL As DataView = Remplir_entite_BDD("SELECT id, name FROM glpi_entities")
            If resultSQL.Count > 0 Then
                For Each rst As DataRowView In resultSQL
                    Cbbox_choientite.Items.Add(New ListItem(rst("id"), rst("name")))
                Next
            End If

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

Discussions similaires

  1. Convertir des dataview en string
    Par thomaso38 dans le forum VB.NET
    Réponses: 1
    Dernier message: 01/06/2016, 21h15
  2. [Eclipse 3.0.1] Convertir des sources Dos en Unix
    Par Bicnic dans le forum Eclipse Java
    Réponses: 5
    Dernier message: 22/09/2009, 16h38
  3. [Fonction SQL Server] Convertir des secondes en heure
    Par falcon dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 17/11/2004, 17h22
  4. Réponses: 2
    Dernier message: 17/08/2004, 14h27
  5. Convertir des bmp en jpeg
    Par chris56 dans le forum Linux
    Réponses: 8
    Dernier message: 10/10/2003, 21h23

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