Connection Mysql av Visual studio net 2003

Résolu
mourier2003 Messages postés 6 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 9 janvier 2006 - 5 janv. 2006 à 17:45
mourier2003 Messages postés 6 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 9 janvier 2006 - 9 janv. 2006 à 09:40
est-il possible de connecter une base de données MySQL avec du code visual basic net 2003 ? Je n'arrive pas !!!

7 réponses

gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
6 janv. 2006 à 10:12
Salut,

Bonne et heureuse année.

Tu dois utiliser Mysql connector .NET à la place myODBC. Tu peux downloader le connector sur le site ww.mysql.com.

A+
3
mourier2003 Messages postés 6 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 9 janvier 2006
7 janv. 2006 à 00:27
Après avoir piqué à droite et à gauche qq fragments, j’ai réussi !!


Eureka


J’ai en premier téléchargé sur le site de MySQL


mysql-connector-odbc-3.51.12-win32.msi




puis sur le site de MicroSoft


odbc_net.msi




J’ai exécute les deux puis je me suis mis au boulot !!! pas très fort, et j’ai écrit ça


Dans un module


Public MySQLdrv As String = "DRIVER={MySQL ODBC 3.51 _ Driver};SERVER=localhost;DATABASE=essai;UID=root;PASSWORD=;OPTION3;"


Public cnxMySQL As New Microsoft.Data.Odbc.OdbcConnection(MySQLdrv)






Et le script du form


Dim cmdselect As OdbcCommand = New OdbcCommand


Dim drSection As OdbcDataReader


Dim qry, sectyp1, sectyp2, a As String


Dim i As Integer


qry = "SELECT ch1,ch2 FROM t1"




Try


cnxMySQL.Open()


With cmdselect


.Connection = cnxMySQL


.CommandType = CommandType.Text


.CommandText = qry


drSection = .ExecuteReader


End With


drSection.Read()


sectyp1 = drSection(0)


sectyp2 = drSection(1)


Me.TextBox1.Text = drSection(0)


Me.TextBox2.Text = drSection(1)


'MsgBox(sectyp1 & " - " & sectyp2)


cnxMySQL.Close()




Catch ex As OdbcException


For i = 0 To ex.Errors.Count - 1


a = ex.Errors(i).SQLState


'MsgBox(a)


Select Case a


Case "HYT00"


MsgBox("La base de données n'est pas activée", MsgBoxStyle.Critical, "Erreur MySQL importante " + a)


Case "01S00"


MsgBox("La base de données n'est pas activée", MsgBoxStyle.Critical, "Erreur MySQL importante " + a)


Case Else




End Select


Next i


End Try








Ca marche très bien. En revanche je veux bien essayer autre chose et je suis tout ouies





a+
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
9 janv. 2006 à 07:12
Salut,

Ce n'est pas de cette manière que tu dois utiliser Mysql Connector. Tu utilises MyODBC ce qui n'est pas conseiller en .NET.
Pour utiliser le connector voici un exemple:

1) Ajouter la référence Mysql.Data.dll dans l'onglet .NET
2) Place le code suivant au début du form:
Imports MySql.Data.MySqlClient

3)Ajoute un datagrid sur le form

4) place le code suivant:


Private
Sub Form1_Load(
ByVal sender
As System.Object,
ByVal e
As System.EventArgs)
Handles
MyBase.Load



'connection



Dim cn
As MySqlConnection =
New MySqlConnection("Server=NomServer;user id=root;password=;database=BDTest")


cn.Open()



'requete



Dim cmd
As MySqlCommand =
New MySqlCommand("Select * from table1", cn)



Dim da
As MySqlDataAdapter =
New MySqlDataAdapter(cmd)



Dim ds
As
New DataSet



'read data


da.Fill(ds, "Data")



'fill datagrid


DataGrid1.SetDataBinding(ds, "Data")



End
Sub

A+
0
mourier2003 Messages postés 6 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 9 janvier 2006
9 janv. 2006 à 08:36
Bj,

Ok j'essai de suite

à+
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mourier2003 Messages postés 6 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 9 janvier 2006
9 janv. 2006 à 09:29
re bj,

Deux problemes se posent !!
je ne trouve pas dans l'onglet .net la ref Mysql.data.dll
donc pas non plus data.mysqlclient
ou puis-je trouver cette data.dll ???


d'autre part, je ne sais pas comment mettre a jour un datagrid dans un form
sans etre obligé de fermer le form et de le recharger !!!


quand je delete une ligne du datagrid par requete sql je n'arrive pas virer
la ligne de ce datagrid


merci d'avance
0
gaa179 Messages postés 361 Date d'inscription mercredi 21 mai 2003 Statut Membre Dernière intervention 12 novembre 2009 2
9 janv. 2006 à 09:33
Tu dois faire un Browse et sélectionner la DLL dans C:\Program Files\MySQL\MySQL Connector Net 1.0.7\bin\.NET X.X en fonction de ta version.

Ce n'est plus comme en VB6, la connection avec la BD est automatiquement fermée après chaque requête SQL. Tu dois refaire la même chose qu' à l'ouverture du form.

A+
0
mourier2003 Messages postés 6 Date d'inscription jeudi 23 juin 2005 Statut Membre Dernière intervention 9 janvier 2006
9 janv. 2006 à 09:40
Ok, mais je bosse av easyphp 1.8 et je n'ai pas mysql !!!
0
Rejoignez-nous