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 :

MySQL avec MySQL Connector/NET


Sujet :

VB.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 89
    Par défaut MySQL avec MySQL Connector/NET
    Bonjour a tous

    Je veux me connecter à une base MYSQL.

    Voici les premières lignes de mon programme

    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
     
    '*******************************************************************************************************
    '**      List  des inports
    '*******************************************************************************************************
    Imports System
    Imports System.ComponentModel
    Imports System.Threading
    Imports System.IO.Ports
    Imports System.IO
    Imports System.Text
     
     
    Imports MySql.Data.MySqlClient
    Imports MySql.Data.Types
     
     
     
    Public Class frmMain
     
        '*******************************************************************************************************
        '*    Variable Globale
        '*******************************************************************************************************
        Dim myPort As Array  'decction de port
        Delegate Sub SetTextCallback(ByVal [text] As String) 'Added to prevent threading errors during receiveing of data
        Dim chemin As String
        Dim nfichier As String
     
        Dim MysqlConn = New MySqlConnection
    Quand je démarrer mon application, j'ai ce message d'erreur "Error BC3002 : le type 'MySqlConnection' n'est pas défini.
    Dans les réferences, j'ai bien MySql.Data
    Je pense que j'ai oublier de faire quelque chose mais quoi ?

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 89
    Par défaut
    J'ai un peu avancer.


    Si j'utilise Z:\D\Telechargement\mysql-connector-net-6.9.6-noinstall\v2.0\MySql.Data.dll
    alors je n'ai pus de message d'erreur au démarrage de application

    Si j'utilise Z:\D\Telechargement\mysql-connector-net-6.9.6-noinstall\v4.0\MySql.Data.dll
    alors je n'ai pus de message d'erreur au démarrage de application
    Je ne suis pas sur du MysqlConn.ConnectionString

    Mais avec ces deux version j'ai message d'erreur
    Authentication methode 'Cachinhg_sha2_password' not supported by any avaible plugins
    Avec Z:\D\Telechargement\mysql-connector-net-6.9.6-noinstall\v4.5\MySql.Data.dll
    J'ai ce message au démarrage de l'application
    error BC30002: Le type 'MySqlConnection' n'est pas défini.

  3. #3
    Membre Expert Avatar de Phil Rob
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2013
    Messages
    1 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 613
    Par défaut
    Bonsoir,

    J'ai bien un petit exemple, mais il est expliqué en espagnol ... Je te l'envoie la page des codes à toutes fins utiles : FTestMySQL.zip.

    Mais à priori, ce qui manque à ton code, c'est la définition de la chaine de connexion qui doit ressembler à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
          Dim serveurbd = "127.0.0.1"
            Dim portbd = "3306"
            Dim basebd = "NomDeLaDB"
            Dim userbd = "root"
            Dim pwdbd = ""
            MiConexion.ConnectionString = "SERVER=" & serveurbd & "; DATABASE=" & basebd & ";UID=" & userbd & ";PWD=" & pwdbd
    Par ailleurs, ton code a beaucoup trop d'Imports ..., c'est pas nécessaire !

    ...

  4. #4
    Membre chevronné Avatar de r.morel
    Homme Profil pro
    Dessinateur CAO
    Inscrit en
    Août 2014
    Messages
    339
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Dessinateur CAO
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2014
    Messages : 339
    Par défaut
    Salut,
    Je me connecte à la une base MySQL sans problèmes avec la librairie suivante :
    Nom : 2021-01-29 08_30_16-ExcelAddIn_Nomenclature - Microsoft Visual Studio.png
Affichages : 623
Taille : 12,9 Ko

    J'ai créé une classe qui gère la relation avec la BDD. Je te mets le constructeur et deux exemple de requête :
    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
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
     
    Imports MySql.Data.MySqlClient
     
    ''' <summary>
    ''' Gère la relation avec la BDD de Synoptic et regroupe l'ensmeble des méthodes de lecture et d'écriture
    ''' </summary>
    Public Class BDDMySQL
     
    #Region " Champs "
        Public Connection As New MySqlConnection
        Public Chaine_connection As String = "server=srv;user id=root;persistsecurityinfo=True;database=synoptictest;password=1proges"
        Public TestConnection As Boolean = False
    #End Region
     
    #Region " Constructeur "
        ''' <summary>
        ''' Gère la création d'un nouvel objet
        ''' </summary>
        Sub New()
            Try
                Connection.ConnectionString = Chaine_connection
                Connection.Open()
                TestConnection = True
                Connection.Close()
            Catch Erreur As Exception
                MsgBox("Une erreur empêche la connection SQL :" & Chr(10) & Erreur.Message & Chr(10) & Chr(10) & "L'ensembles des fonctionalités qui requierts la connection SQL seront inaccessibles.", MsgBoxStyle.Exclamation Or MsgBoxStyle.OkOnly, "Erreur SQL")
                TestConnection = False
            End Try
        End Sub
    #End Region
     
    #Region " Methodes "
        ''' <summary>
        ''' Recherche la famille achat d'un article à partir de son Code_secondaire
        ''' </summary>
        ''' <param name="Code_secondaire"></param>
        ''' <returns>Identifiant de la famille d'achat as String</returns>
        Public Function Recherche_Famille_achat(ByRef Code_secondaire As String) As String
            Using Connection
                Dim Commande_SQL_Etat_article As New MySqlCommand("select artachat.FAM_ACHAT from artachat left outer join article on artachat.ARTICLE = article.ARTICLE where (article.CODE_2=@Code_secondaire);", Connection)
                Dim Adapter_SQL As New MySqlDataAdapter
                Dim Data_SQL As MySqlDataReader
                Dim Resultat As String
     
                Try
                    Connection.Open()
                    Commande_SQL_Etat_article.Parameters.AddWithValue("@Code_secondaire", Code_secondaire)
                    Adapter_SQL.SelectCommand = Commande_SQL_Etat_article
                    Data_SQL = Commande_SQL_Etat_article.ExecuteReader()
                    Data_SQL.Read()
     
                    If Data_SQL.HasRows = True Then
                        If Data_SQL.IsDBNull(0) = False Then
                            Resultat = Data_SQL.GetString("FAM_ACHAT")
                            Commande_SQL_Etat_article.Parameters.Clear()
                            Data_SQL.Close()
                            Connection.Close()
                            Return Resultat
                        End If
                    End If
     
                    Commande_SQL_Etat_article.Parameters.Clear()
                    Data_SQL.Close()
                    Connection.Close()
                    Return ""
                Catch ex As Exception
                    MsgBox("Erreur de la fonction Recherche_Famille_achat : " & ex.Message, MsgBoxStyle.Critical, "Erreur BDD Synoptic")
                    Connection.Close()
                    Return ""
                End Try
            End Using
        End Function
     
        ''' <summary>
        ''' Recherche la révision d'un article à partir de son Code_secondaire 
        ''' </summary>
        ''' <param name="Code_article"></param>
        ''' <returns></returns>
        Public Function Recherche_Revision(ByRef Code_article As String) As Integer
            Using Connection
                Dim Commande_SQL_Recherche_Revision As New MySqlCommand("SELECT MAX(INDICE) FROM fichetech WHERE (ARTICLE=@Code_article);", Connection)
                Dim Adapter_SQL As New MySqlDataAdapter
                Dim Data_SQL As MySqlDataReader
                Dim Resultat As Integer
     
                Try
                    Connection.Open()
                    Commande_SQL_Recherche_Revision.Parameters.AddWithValue("@Code_article", Code_article)
                    Adapter_SQL.SelectCommand = Commande_SQL_Recherche_Revision
                    Data_SQL = Commande_SQL_Recherche_Revision.ExecuteReader()
                    Data_SQL.Read()
                    If Data_SQL.HasRows = True Then
                        Resultat = Data_SQL.GetInt32("MAX(INDICE)")
                        Commande_SQL_Recherche_Revision.Parameters.Clear()
                        Data_SQL.Close()
                        Connection.Close()
                        Return Resultat
                    Else
                        Commande_SQL_Recherche_Revision.Parameters.Clear()
                        Data_SQL.Close()
                        Connection.Close()
                        Return Nothing
                    End If
                Catch ex As Exception
                    MsgBox("Erreur de la fonction Recherche_Revision : " & ex.Message, MsgBoxStyle.Critical, "Erreur BDD Synoptic")
                    Connection.Close()
                    Return Nothing
                End Try
            End Using
        End Function
    [...]
    Il suffit ensuite de créer un nouvel objet au lancement de l'application :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     Dim MyBDDMySQL As BDDMySQL
    Ensuite tu pourras accèder à l'ensemble des méthodes de la classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyBDDMySQL.NomDeMaMethode
    J'espère t'avoir aider.
    Belle journée.

Discussions similaires

  1. Réponses: 0
    Dernier message: 10/11/2009, 12h33
  2. mySQL Connector .NET
    Par webrider dans le forum VB.NET
    Réponses: 2
    Dernier message: 17/10/2009, 15h23
  3. MySql Connector/Net 5 Déploiement
    Par Fragor dans le forum Outils
    Réponses: 1
    Dernier message: 16/11/2008, 19h31
  4. .Net VS MyODC & MySQL-Connector.Net
    Par MaelstroeM dans le forum Débuter
    Réponses: 0
    Dernier message: 04/03/2008, 12h02
  5. [VB.NET] [MySQL Connector Net 1.0.4] Pb de MySqlConnection
    Par toxine dans le forum Windows Forms
    Réponses: 9
    Dernier message: 22/03/2005, 13h44

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