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 :

Visual Basic et MySql lecture, écriture, modification


Sujet :

VB.NET

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut Visual Basic et MySql lecture, écriture, modification
    Bonjour,
    Je viens vers vous car je suis un peu coincé dans mes débuts avec l'ajout de donnée dans MySQL à partir de VB.NET


    une seule table pour notre premier test
    la table client dans mysqlssi

    Nom : table_client.jpg
Affichages : 269
Taille : 103,4 Ko

    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
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    Imports MySql.Data
    Imports MySql.Data.MySqlClient
     
     
    Public Class Form1
     
        Dim CONNECTION As MySqlConnection
     
        Private Sub QUITToolStripMenuItem1_Click(sender As Object, e As EventArgs) Handles QUITToolStripMenuItem1.Click
            End
        End Sub
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Label1.Text = Date.Now
            'Panel 1, ajouter un membre'
            'Panel 2, fenêtre de connexion du membre
            Panel1.Visible = False
            Panel2.Visible = False
     
        End Sub
     
        Private Sub QuitToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles QuitToolStripMenuItem.Click
            ' Affiche la seconde fenêtre qui servira de boîte à propos'
            Form2.Show()
        End Sub
     
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            'Premier cas, on ajoute le nouveau cas dans la table client'
            'Second  cas, on annule l'ajout car le client est existant'
            'On sort de l'ajour d un nouveau membre'
     
            CONNECTION = New MySqlConnection
            CONNECTION.ConnectionString = "server=localhost;userid=root;password=;database=mysqlssi"
     
            Try
                If CONNECTION.State = ConnectionState.Closed Then
                    CONNECTION.Open()
                    If TextNouveauMembre.Text.Trim() <> "" And TextAjoutPassword.Text.Trim() <> "" And TextConfirmerPassword.Text.Trim() <> "" Then
                        MsgBox("Nouveau membre et mot de passe introduit", MsgBoxStyle.Information, "Info")
     
                        Dim cmd As New MySqlCommand("INSERT INTO client (Nom,Password) VALUES(@nomclient,@passwordclient ", CONNECTION)
                        cmd.Parameters.AddWithValue("@nomclient", TextNouveauMembre.Text)
                        cmd.Parameters.AddWithValue("@passwordclient", TextAjoutPassword.Text)
                        cmd.ExecuteNonQuery()
                        cmd.Parameters.Clear()
                        MessageBox.Show("add data ok")
     
                    Else
                        MsgBox("Champ Nouveau membre et Mot de passe obligatoire", MsgBoxStyle.Information, "Info")
                    End If
     
                End If
     
            Catch ex As Exception
                MsgBox("Connexion échouée", MsgBoxStyle.Information, "Info")
            Finally
                CONNECTION.Close()
            End Try
        End Sub
     
        Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
            'Remise des textbox à vide'
            TextNouveauMembre.Text = ""
            TextAjoutPassword.Text = ""
            TextConfirmerPassword.Text = ""
            TextEntreprise.Text = ""
            TextTel.Text = ""
            TextEmail.Text = ""
            'On sort de l ajout d un nouveau membre'
            Panel1.Visible = False
        End Sub
     
        Private Sub AjoutToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles AjoutToolStripMenuItem.Click
            Panel1.Visible = True
        End Sub
     
        Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
            'Remettre à vide les textboxs'
            TextUserName.Text = ""
            TextPassword.Text = ""
            Panel2.Visible = False
        End Sub
     
        Private Sub ConnexionToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ConnexionToolStripMenuItem.Click
            Panel2.Visible = True
        End Sub
     
        Private Sub TESTCONNEXIONToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles TESTCONNEXIONToolStripMenuItem.Click
            CONNECTION = New MySqlConnection
            CONNECTION.ConnectionString = "server=localhost;userid=root;password=;database=mysqlssi"
     
            Try
                If CONNECTION.State = ConnectionState.Closed Then
                    CONNECTION.Open()
                    MsgBox("Connexion avec succès", MsgBoxStyle.Information, "Info")
                End If
     
            Catch ex As Exception
                MsgBox("Connexion échouée", MsgBoxStyle.Information, "Info")
            Finally
                CONNECTION.Close()
            End Try
     
        End Sub
     
        Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
     
            ' On établit la connexion '
            CONNECTION = New MySqlConnection
            CONNECTION.ConnectionString = "server=localhost;userid=root;password=;database=mysqlssi"
     
            ' trim empêche des caractères vides'
     
            Try
                If CONNECTION.State = ConnectionState.Closed Then
                    CONNECTION.Open()
                    If TextUserName.Text.Trim() = "" Then
                        MessageBox.Show("Entrez un nom d'utilisateur")
                    ElseIf TextPassword.Text.Trim() = "" Then
                        MessageBox.Show("Entrez un mot de passe")
                    End If
                End If
            Catch ex As Exception
                MsgBox("Connexion échouée", MsgBoxStyle.Information, "Info")
            Finally
                CONNECTION.Close()
            End Try
     
     
        End Sub
     
     
    End Class
    Si une personne peut me permettre de résoudre cette partie.
    J'en serai ravis.

  2. #2
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    Bonjour,

    A l'examen rapide de ton code, il me semble correct. La seule anomalie que je vois est dans le schéma de la table, le champ "Password" est de type Date. Dès lors, si le mot de passe encodé dans TextAjoutPassword n'est pas dans le bon format, tu devrais recevoir un message d'erreur et l'enregistrement ne peut se faire. Mais tu ne nous signales aucun message d'erreur ...

    Je crois que le Psswd en type VarChar conviendrait mieux.

    J'espère que ceci t'inspirera ...

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Bonjour,
    Il est toujours mieux de soumettre son travail à une autre personne!
    Lorsque l'on est dedans. On ne voit plus des fautes d'encodages aussi importante!
    C'est bien un varchar que j'aurais utilisé en temps normal.
    Pourquoi, j'ai mis ce type de format à ce moment là?
    Je corrige et je teste pour voir si cela fonctionne.
    Cordialement,

  4. #4
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    ... ça arrive à tout le monde ...

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    J'ai trouvé xamp en erreur lors d'ajout d'un user directement avec l'interface phpMyAdmin
    Je suis en train de le réinstaller

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    Après avoir désinstaller et supprimer le répertoire xampp, j'ai fait une nouvelle installation.
    Je n'ai plus d'erreur d'insertion au niveau du phpmyadmin.
    Création, modification, ajout d'un élément, je n'ai plus d'erreur maintenant.

    J'ai tenté un ajout.
    Je reçois un message que la connexion a échoué.
    Hormis cela, je ne reçois pas de message d'erreur précis.

    Que dois-je faire à ce stade?

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 1
    Points
    1
    Par défaut
    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
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            'Premier cas, on ajoute le nouveau cas dans la table client'
            'Second  cas, on annule l'ajout car le client est existant'
            'On sort de l'ajour d un nouveau membre'
     
            CONNECTION = New MySqlConnection("server=localhost;userid=root;password=;database=mysqlssi")
     
            Try
                If CONNECTION.State = ConnectionState.Closed Then
                    CONNECTION.Open()
                    If TextNouveauMembre.Text.Trim() <> "" And TextAjoutPassword.Text.Trim() <> "" And TextConfirmerPassword.Text.Trim() <> "" Then
     
     
                        Dim cmd As New MySqlCommand("INSERT INTO mysqlssi.client(nom_client, password_client) VALUES( @nomclient, @passwordclient)", CONNECTION)
     
                        cmd.Parameters.AddWithValue("@nomclient", TextNouveauMembre.Text)
                        cmd.Parameters.AddWithValue("@passwordclient", TextAjoutPassword.Text)
                        cmd.ExecuteNonQuery()
                        cmd.Parameters.Clear()
                        MessageBox.Show("add data ok")
                        MessageBox.Show("Nouveau membre et mot de passe introduit")
     
                    Else
                        MessageBox.Show("Champ Nouveau membre et Mot de passe obligatoire")
                    End If
     
                End If
     
            Catch ex As Exception
                MessageBox.Show("Connexion échouée")
            Finally
                CONNECTION.Close()
            End Try
        End Sub
    Mon premier ajout qui fonctionne, j'en suis content !!!!

    Comme lu précédemment
    1) MySQL doit fonctionner correctement sinon inutile d'aller plus loin. A tester à chaque fois avant de se lancer dans l'aventure.
    2) syntaxe, il ne faut pas oublier la parenthèse de fermeture de l'option value!!!
    On ne reçoit aucune erreur de syntaxe. Ce qui est pour moi un bug dans l'IDE.

  8. #8
    Membre émérite 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
    Points : 2 865
    Points
    2 865
    Par défaut
    Très bien !
    Si cela fonctionne pour le premier ajout, ça devrait fonctionner aussi pour les suivants. C'est bien parti...

  9. #9
    Membre du Club
    Homme Profil pro
    à mes temps perdus
    Inscrit en
    Février 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : à mes temps perdus
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 66
    Points : 47
    Points
    47
    Par défaut
    Salut
    Si je peux me permettre au niveau de ta requête MySql tu peux le simplifier si jamais tu fais tes inserts dans l'ordre de ta Table
    Ton code actuel donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim cmd As New MySqlCommand("INSERT INTO client (Nom,Password) VALUES(@nomclient,@passwordclient) ", CONNECTION)
    Il peut devenir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim cmd As New MySqlCommand("INSERT INTO client VALUES(@nomclient,@passwordclient)", CONNECTION)
    Petit conseil aussi, l'idéal c'est d'avoir tes mots de passe enregistrés en MD5

Discussions similaires

  1. [ADO.NET] MySql et visual basic 2005 express
    Par fabrice.77 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 17/12/2006, 18h25
  2. Réponses: 4
    Dernier message: 07/06/2006, 11h20
  3. [VB] mysql et visual basic
    Par mafilek dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/05/2006, 22h27
  4. [VB] de visual basic vers mysql(easyphp)
    Par steph113 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 11/05/2006, 09h30
  5. [SGBD] Y-a-t'il une solution a mon probleme visual basic-php-mysql
    Par enibris dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 28/02/2006, 11h52

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