Visual Basic 2008 et MySQL

Résolu
IGalaxy Messages postés 9 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 21 septembre 2008 - 31 août 2008 à 18:36
debbv Messages postés 14 Date d'inscription samedi 19 décembre 2009 Statut Membre Dernière intervention 14 mars 2011 - 22 déc. 2009 à 13:23
Bien le bonjour amis développeurs :)

Ben voilà j'ai un petit problème, je voudrai (pour le moment) qu'un simple bouton puisse faire un INSERT INTO dans une base de données MySQL 5
J'ai donc l'action suivante sur mon bouton :

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim ConnnectionStr = "Database=visual;Data Source=localhost;User Id=root;Password=RootPass"
        Dim Connection = New MySqlConnection
        Connection.ConnectionString = ConnnectionStr

        Dim MyAdapter = New MySqlDataAdapter

        Connection.Open()
        Dim MySQLCmd = "INSERT INTO `visual`.`test` (`user` ,`pass` ,`function`)VALUES (        'Max', 'pass', 'pro');"

        MyAdapter.InsertCommand = New MySqlCommand(MySQLCmd, Connection)
        Label1.Text = "ok"

    End Sub

Y'a pas de balise code ici ?
Bref, mon problème, c'est que je n'ai aucune erreur (nan c'est pas ça le bug ^^) mais que malgré l'absence d'érreur, je n'ai aucune action réelle dans la base de données, on pourrait croire que la requête se fait, mais non...

Pourriez vous me dire où j'ai fait une erreur SVP ?
Je n'ai que 16 ans, je ne code que depuis un ans en Visual Basic...

Pour information, j'utilise Microsoft Visual Studio 2008 (Trial ) et AppServ qui me sert de Apache + PHP + MySQL :p

Merci d'avance pour votre aide :)

IGalaxy

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 août 2008 à 19:21
Ouh là, oui effectivement, j'aurais du le voir.

Meis ta requette ne renvoie aucun résultat, il n'est pas utilise de faire un ExecuteReader en chargean un datareader, tu peux te contenter dans le cas présent d'un ExecuteNonQuery

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
31 août 2008 à 18:48
MySqlConnection, MySqlDataAdapter sont des classes qui existent en VB2008 ou ces des déclarations à toi ???
(Ca n'existe pas en VB2005)

Pour ton problème, essaye, dans ta requette INSERT d'enlever les ' entourant visual et test ainsi que user, pass et function.

Normalement (tout au moins sous SQLServer) les nom de tables ou de champs ne sont pas entourés de ' ou de "

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
IGalaxy Messages postés 9 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 21 septembre 2008
31 août 2008 à 19:03
J'utilise MySQL Connector en adaptant du code, manifestement du C...
http://morpheus.developpez.com/MySQLDotNet/

J'essaie de suite ce que tu dis :)
Merci
0
IGalaxy Messages postés 9 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 21 septembre 2008
31 août 2008 à 19:07
On peut pas non plus éditer ? :S
J'ai tenté avec :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim ConnnectionStr = "Database=visual;Data Source=localhost;User Id=root;Password=STARGATE"
        Dim Connection = New MySqlConnection
        Connection.ConnectionString = ConnnectionStr

        Dim MyAdapter = New MySqlDataAdapter

        Connection.Open()
        Dim MySQLCmd = "INSERT INTO visual.test (`user` ,`pass` ,`function`)VALUES (        'Max', 'pass', 'pro');"

        MyAdapter.InsertCommand = New MySqlCommand(MySQLCmd, Connection)
        Label1.Text = "ok"

    End Sub

Idem
0

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

Posez votre question
IGalaxy Messages postés 9 Date d'inscription dimanche 31 août 2008 Statut Membre Dernière intervention 21 septembre 2008
31 août 2008 à 19:17
J'ai trouvé!

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim SQL As String
        Dim MyCommand As New MySqlCommand
        Dim MyDataReader As MySqlDataReader

        Dim ConnnectionStr = "Database=visual;Data Source=localhost;User Id=root;Password=RootPass"
        Dim Connection = New MySqlConnection
        Connection.ConnectionString = ConnnectionStr

        Dim MyAdapter = New MySqlDataAdapter

        Connection.Open()
        'Dim MySQLCmd = "INSERT INTO visual.test (`user` ,`pass` ,`function`)VALUES (        'Max', 'pass', 'pro');"
        'attache la varibale MyCommand à notre connexion
        MyCommand.Connection = Connection
        'création de la requête        SQL "INSERT INTO `test` SET `user` ""max"", `pass` = ""toto"", `function` = ""babacool"";"
        'execute la requete SQL
        MyCommand.CommandText = SQL
        'récupère les données de la requête
        MyDataReader = MyCommand.ExecuteReader

        'MyAdapter.InsertCommand = New MySqlCommand(MySQLCmd, Connection)
        Label1.Text = "ok"

    End Sub

Merci de votre aide :D
0
debbv Messages postés 14 Date d'inscription samedi 19 décembre 2009 Statut Membre Dernière intervention 14 mars 2011
22 déc. 2009 à 13:23
Salut frere
ok j ai le meme proble que toi ...........
s'il te plait a tus trouver une solution a ce probleme ?
ok aide moi si tu peux
j arrive a me connecter mais je n ai rien dans ma base .
Merci d avance et que dieu te benisse
0
Rejoignez-nous