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 :

ajout dans BD MySql avec VB 2008


Sujet :

VB.NET

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Points : 81
    Points
    81
    Par défaut ajout dans BD MySql avec VB 2008
    Salut à tous
    J'ai un probléme concernant l'ajout des champs dans une base de donnée MySql via vb 2008.
    Voilà le code :
    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
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            If TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Then
                MessageBox.Show("Il faut remplir tout les champs")
            Else
                state = StateEnum.StateNew
                Select state
                    Case Is = StateEnum.StateNew 'Ajouter un record
                        Dim MyNewRow As DataRow = dst.Tables("caract").NewRow
                        Try
                            MyNewRow("id_p") = TextBox1.Text
                            MyNewRow("nom") = TextBox2.Text
                            MyNewRow("prenom") = TextBox2.Text
                            MyNewRow("Nom utilisateur") = TextBox3.Text
                            MyNewRow("Mot de passe") = TextBox2.Text
                            dst.Tables("cract").Rows.Add(MyNewRow)
    
                            Dim MyCommBuild As New MySqlCommandBuilder(da)
                            da.Update(dst, "cract")
                        Catch err As Exception
                            MsgBox(err.Message, MsgBoxStyle.Exclamation, "error")
                            Exit Sub
                        End Try
                End Select
            End If
    
        End Sub
    Le problème est dans la ligne en rouge. Cela indique erreur :
    La référence d'objet n'est pas définie à une instance d'un objet
    Merci de m'aider s'il vous plait.

  2. #2
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MyNewRow As New DataRow = dst.Tables("caract").NewRow
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Points : 81
    Points
    81
    Par défaut
    Malheureusement ca n'a pas résolu le probléme la même chose

  4. #4
    Membre averti
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Points : 347
    Points
    347
    Par défaut
    Essai avec cette méthode :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    try
                Dim k As String = "SELECT id_p, nom, prenom, nom_utilisateur, motdepasse, cract from `caract`;"
                Dim comm As New MySqlCommand(k, myConnection)
                Dim myready As MySqlDataReader
                myready = Nothing
                myready = myCommand.ExecuteReader()
                myready.Close()
                myConnection.Close()
    Catch ex As Exception
                MsgBox(err.Message, MsgBoxStyle.Exclamation, "error")
                Exit Sub
    End Try
    Si tu veux utiliser ta méthode, l'erreur provient du fait que tu n'as pas ajouté l'opérateur unaire (New). Pour cela tu dois remplacer ta ligne (contenant l'erreur) par la ligne de mactwist69.
    Vu que l'erreur est toujours là, peux-tu nous faire un copier coller de ton code depuis la connexion à ta BDD ?

    NB : Essai d'éviter les espaces dans les noms des champs.
    ------------------------------------------------- :p
    Consultant sénior en Technologies de l'Information

    Certifié MCSE
    Certifié MCTS : Windows 2008 Server

  5. #5
    Membre émérite Avatar de mactwist69
    Homme Profil pro
    Développement VB.NET
    Inscrit en
    Janvier 2007
    Messages
    1 707
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Développement VB.NET
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 707
    Points : 2 528
    Points
    2 528
    Par défaut
    Sinon c'est que ton dataset est vide ou ne trouve pas ta table (erreur de nom?")

    Mets un espion sur ton dataset et tu verras...
    L'avenir appartient à ceux... dont les ouvriers se lèvent tôt. (Coluche)

  6. #6
    Membre régulier
    Inscrit en
    Janvier 2010
    Messages
    196
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 196
    Points : 81
    Points
    81
    Par défaut
    Salut les amis merci à tous pour vos réponse j'ai trouvé la solution est ca marche et c'est suuuuuuuuuupeeeeeeeeeeer
    voilà la solution :

    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
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim host = New MySqlConnection("server=localhost; user id=root; password=; database=personne")
            Dim ajout = New MySqlCommand("insert into cract values (Null,'" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox4.Text & "','" & TextBox5.Text & "')")
            ajout.Connection = host
            If TextBox2.Text = "" Or TextBox3.Text = "" Or TextBox4.Text = "" Or TextBox5.Text = "" Then
                MessageBox.Show("Il faut remplir tout les champs")
            Else
                Try
                    host.Open()
                    ajout.ExecuteNonQuery()
                Catch err As MySqlException
                    MessageBox.Show("Erreur lors de mise à jour", vbCrLf, MessageBoxButtons.OK)
                End Try
            End If
     
        End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Probleme d'ajout dans BDD mysql
    Par Invité dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 07/06/2012, 15h29
  2. ajout dans une table avec clé étrangère
    Par lahmar.abdel1 dans le forum Hibernate
    Réponses: 0
    Dernier message: 30/03/2010, 15h59
  3. pb d'ajout dans base Mysql
    Par briiice dans le forum Requêtes
    Réponses: 7
    Dernier message: 23/12/2005, 12h19
  4. Ajout dans une liste avec un bouton
    Par Invité dans le forum Access
    Réponses: 6
    Dernier message: 07/12/2005, 08h27
  5. recuperer des mails stocker dans base MySQL avec Outlook
    Par freddy92110 dans le forum Outlook
    Réponses: 1
    Dernier message: 06/11/2005, 19h26

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