cs_mickael56100
Messages postés94Date d'inscriptionvendredi 12 septembre 2008StatutMembreDernière intervention19 mai 2012
-
20 déc. 2008 à 19:39
cs_mickael56100
Messages postés94Date d'inscriptionvendredi 12 septembre 2008StatutMembreDernière intervention19 mai 2012
-
20 déc. 2008 à 22:24
Bonjour j'utilise Easy Php2.0b1, avec Mysql 5.0.22, je souhaiterais réaliser un logiciel de gestion d'un club de football.
J'ai télécharger un installer d'un driver http://dev.mysql.com/downloads/connector/net/5.0.html afin de pouvoir accéder a cette base.
Auparavant je travaillais avec Access , mais je souhaiterais changer.
Voila un extrait de mon code, du moins de la fonction qui me permet de me connecter et de réaliser des requêtes SQL.
Pour ce qui est de la chaîne de connexion, j'ai repris ce site http://www.connectionstrings.com/mysql
Public Class F_Menu
Public Function ReqSelection(ByVal req As String, ByVal nomTable As String) As DataTable
Dim cnx As OleDbConnection
Dim cmd As OleDbCommand
Dim ds As DataSet 'Va être utilisé dans plusieurs procédures
'Instanciation et ouverture d'une connexion
cnx = New OleDbConnection("Driver={MySQL ODBC 5.0 Driver};Server=localhost;Database=logifoot; User=root;Password=;Option=3;")
cnx.Open()
'Instanciation d'un objet Command
cmd = New OleDbCommand(req)
cmd.Connection() = cnx
'Instanciation d'un DataSet
ds = New DataSet
'Instanciation d'un DataAdapter
'Déclaration Objet DataAdapter
Dim da As OleDbDataAdapter
da = New OleDbDataAdapter()
da.SelectCommand = cmd 'L'objet Command contient l'instruction SQL
da.Fill(ds, nomTable) 'Remplissage d'une table Destination dans le DataSet à partir du DataAdapter
Return ds.Tables(nomTable)
End Function
End class
Lorsque je teste mon début d'application, j'obtiens ce message d'erreur:
Un fournisseur OLE DB n'était pas spécifié dans ConnectionString. Par exemple, 'Provider=SQLOLEDB;'.
Donc je pense que mon Imports System.Data.OleDb est spécifique à acess et donc inutile ici et que mes oledbadapter() doivent être remplacé par une équivalence pour une bdd mysql.
Est ce que quelqu'un peut m'aider.
Merci
A voir également:
Désolé... nous n'avons pas pu trouver un fournisseur de base de données portant le nom invariant « mysql.data.mysqlclient ».
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 déc. 2008 à 22:03
Il faut probablement que tu rajoute la référence dans ton projet.
Menu Projet/Propriété, onglet Références, tu fais Ajouter. Dans l'onglet .Net tu choisis la référence qui doit s'appeller, je pense, System.Data.MySqlClient
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 déc. 2008 à 20:44
D'une part, tu n'as pas besoin de SQLClient. Les connecteurs de SQLClient sont à utiliser avec Microsoft SQLServer, ce n'est pas ton cas.
Les connecteurs OLEdb sont à utiliser pour toute connection qui n'est pas sur Oracle, SQLServer et qui ne passe pas par une source ODBC.
Dans le cas présent, tu utilise le driver ODBC de MySql, tu devrais peut-etre donc essayer d'utiliser les connecteurs ODBC à la place de OLEdb.
Imports System.Data.Odbc
Public Class F_Menu
Public Function ReqSelection(ByVal req As String, ByVal nomTable As String) As DataTable
Dim cnx As OdbcConnection
Dim cmd As OdbcCommand
Dim ds As DataSet 'Va être utilisé dans plusieurs procédures
'Instanciation et ouverture d'une connexion
cnx = New OdbcConnection("Driver={MySQL ODBC 5.0
Driver};Server=localhost;Database=logifoot;
User=root;Password=;Option=3;")
cnx.Open()
'Instanciation d'un objet Command
cmd = New OdbcCommand(req)
cmd.Connection() = cnx
'Instanciation d'un DataSet
ds = New DataSet
'Instanciation d'un DataAdapter
'Déclaration Objet DataAdapter
Dim da As OdbcDataAdapter
da = New OdbcDataAdapter()
da.SelectCommand = cmd 'L'objet Command contient l'instruction SQL
da.Fill(ds, nomTable) 'Remplissage d'une table Destination dans le DataSet à partir du DataAdapter
Return ds.Tables(nomTable)
End Function
End class
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 20 déc. 2008 à 21:26
Ok, donc en fouillant sur le site de MySQL, je pense avoir compris.
Le driver que tu as installer a dû te rajouter un namespace dans VisualStudio. Donc à la place de System.Data.Oledb ou System.Data.Odbc, tu dois avoir aussi System.Data.MySQLClient
C'est donc qu'il va falloir utiliser. Mais il va donc falloir aussi changer la chaine de connection :
Imports System.Data.MySqlClient
Public Class F_Menu
Public Function ReqSelection(ByVal req As String, ByVal nomTable As String) As DataTable
Dim cnx As MySqlConnection
Dim cmd As MySqlCommand
Dim ds As DataSet 'Va être utilisé dans plusieurs procédures
'Instanciation et ouverture d'une connexion
cnx = New MySqlConnection("Server=localhost;Database=logifoot;
User=root;Password=;")
cnx.Open()
'Instanciation d'un objet Command
cmd = New MySqlCommand(req)
cmd.Connection() = cnx
'Instanciation d'un DataSet
ds = New DataSet
'Instanciation d'un DataAdapter
'Déclaration Objet DataAdapter
Dim da As MySqlDataAdapter
da = New MySqlDataAdapter()
da.SelectCommand = cmd 'L'objet Command contient l'instruction SQL
da.Fill(ds, nomTable) 'Remplissage d'une table Destination dans le DataSet à partir du DataAdapter
Return ds.Tables(nomTable)
End Function
End class
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_mickael56100
Messages postés94Date d'inscriptionvendredi 12 septembre 2008StatutMembreDernière intervention19 mai 2012 20 déc. 2008 à 21:41
Désormais, il me souligne tout ce que tu as mis en rouge :
Imports System.Data.MySqlClient
MySqlConnection
MySqlCommand
MySqlConnection
MySqlCommand
MySqlDataAdapter
MySqlDataAdapter()
Avertissement 1 L'espace de noms ou le type spécifié dans les Imports 'System.Data.MySqlClient' ne contient aucun membre public ou est introuvable. Vérifiez que l'espace de noms ou le type est défini et qu'il contient au moins un membre public. Vérifiez que le nom de l'élément importé n'utilise pas d'autres alias.
Erreur 2 Type 'MySqlConnection' non défini. (même erreur pour les suivant)
cs_mickael56100
Messages postés94Date d'inscriptionvendredi 12 septembre 2008StatutMembreDernière intervention19 mai 2012 20 déc. 2008 à 22:24
Cela fonctionne désormais, merci beaucoup vous deux, vous m'avez énormément aidé, je vais pouvoir avancé maintenant.
Un grand merci à casy, ton aide m'a été très précieuse
Imports MySql.Data.MySqlClient
Imports MySql.Data
Public Class F_Menu
Public Function ReqSelection(ByVal req As String, ByVal nomTable As String) As DataTable
Dim cnx As MySqlConnection
Dim cmd As MySqlCommand
Dim ds As DataSet 'Va être utilisé dans plusieurs procédures
'Instanciation et ouverture d'une connexion
cnx = New MySqlConnection("Server=localhost;Database=logifoot; User=root;Password=;")
cnx.Open()
'Instanciation d'un objet Command
cmd = New MySqlCommand(req)
cmd.Connection() = cnx
'Instanciation d'un DataSet
ds = New DataSet
'Instanciation d'un DataAdapter
'Déclaration Objet DataAdapter
Dim da As MySqlDataAdapter
da = New MySqlDataAdapter()
da.SelectCommand = cmd 'L'objet Command contient l'instruction SQL
da.Fill(ds, nomTable) 'Remplissage d'une table Destination dans le DataSet à partir du DataAdapter
Return ds.Tables(nomTable)
End Function
End Class