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 :

Ajouter un enregistrement dans MySQL


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut Ajouter un enregistrement dans MySQL
    bOnjour à tous !

    Je voudrais bien ajouter un enregistrement dans ma base de données Mysql en utlisan VB.net (2005)! J'ai tapé ce 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
     
    Dim MyNewRow As DataRow = dst.Tables("person").NewRow
            Try
                MyNewRow("First_Name") = Me.txtfirstname.Text
                MyNewRow("Last_Name") = Me.txtlastname.Text
                MyNewRow("Fone_Num") = Me.txtfonenum.Text
                MyNewRow("Country") = Me.txtcountry.Text
                dst.Tables("person").Rows.Add(MyNewRow)
     
                Dim MyCommBuild As New MySqlCommandBuilder(da1)
                da1.Update(dst, "person")
                MsgBox("Nouvel enregistrement ajouté avec succé", MsgBoxStyle.Information)
     
            Catch err As Exception
                MsgBox(err.Message, MsgBoxStyle.Exclamation, "person")
                dst = New DataSet
                da1 = New MySqlDataAdapter("SELECT * FROM person", Host)
                da1.Fill(dst, "person")
                ' ' DataGrid1.DataSource = dst.Tables("contact")
                '  'MsgBox("OK")
                Exit Sub
            End Try
    Mais je trouve une erreur au niveau de la 1ere ligne me disant que " Object reference not set to an instance of an object"!
    Je ne comprend pas vraiment ce que cela veut dire!
    Merci pour votre aide

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Ca veut dire que tu cherches à manipuler une variable qui vaut Nothing. Dans cette instruction, soit c'est dst qui n'est pas initialisé, soit c'est la table "person" qui n'existe pas dans le dataset (et donc dst.Tables("person") renvoie Nothing)

  3. #3
    Membre du Club
    Inscrit en
    Juin 2006
    Messages
    123
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2006
    Messages : 123
    Points : 59
    Points
    59
    Par défaut
    Je reviens encore sur mon problème car vraisemblablement je n'ai pas encore réussi à le trouver!
    Au fait j'ai dejà initialisé la "dst" ! et aussi je ne comprends pas très bien que la table "person" n'existe pas dans le dataset! Aussi, j'ai essayé de mettre l'instruction qui me donnait l'erreur dans le Try ...Catch et là quand je click une 1ere fois sur mon bouton add, j'ai le même mot d'erreur et quand je click une seconde fois mes données sont enregistrées! Je ne comprends vraiment pas d'où peut provenir l'erreur!

    Je remets encore mon 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
    27
    28
    29
    30
    31
    32
    33
     
     
    Public Class add_contatct
        Dim Host As New MySqlConnection 'pour la connexion a la base de donnée
        Dim req As MySqlDataAdapter 'objet MySqlDataAdapter qui par sa propriété Fill charge le DataSet
        Public da1 As MySqlDataAdapter 'pour mettre a jour la BASE et DATASOURCE
        Dim dst1, dst As New DataSet
        '    Dim MyNewRow As New DataRow
     
     
    ----------------------------------------------------------------------
    Private Sub Butadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Butadd.Click
            Try
                Dim MyNewRow As DataRow = dst.Tables("person").NewRow
                MyNewRow("First_Name") = Me.txtfirstname.Text
                MyNewRow("Last_Name") = Me.txtlastname.Text
                MyNewRow("Fone_Num") = Me.txtfonenum.Text
                MyNewRow("Country") = Me.txtcountry.Text
                dst.Tables("person").Rows.Add(MyNewRow)
     
                Dim MyCommBuild As New MySqlCommandBuilder(da1)
                da1.Update(dst, "person")
                MsgBox("Nouvel enregistrement ajouté avec succés", MsgBoxStyle.Information)
                clean()
            Catch err As Exception
                MsgBox(err.Message, MsgBoxStyle.Exclamation, "person")
                dst = New DataSet
                da1 = New MySqlDataAdapter("SELECT * FROM person", Host)
                da1.Fill(dst, "person")
                ' ' DataGrid1.DataSource = dst.Tables("contact")
                '  'MsgBox("OK")
                Exit Sub
            End Try
    Merci pour votre soutien

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Quand tu crées un DataSet avec new DataSet, le DataSet ne contient encore aucune table...
    La première fois que tu fais da1.Fill(dst, "person"), ça crée la table "person" si elle n'existe pas. Sinon tu peux aussi créer la table manuellement...

Discussions similaires

  1. Ajouter un enregistrement dans une base de donnée mysql sur click bouton
    Par gueguenk dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 23/06/2009, 15h44
  2. Formulaire ajout enregistrement dans MySQL
    Par dahu17 dans le forum Langage
    Réponses: 2
    Dernier message: 05/02/2008, 13h07
  3. ajouter un enregistrement dans un ofrmulaire
    Par kevinch dans le forum IHM
    Réponses: 5
    Dernier message: 08/01/2006, 17h59
  4. Réponses: 9
    Dernier message: 19/12/2005, 15h53
  5. [Efficacite/Redondance] Millions d'enregistrement dans MySQL
    Par nico33307 dans le forum Requêtes
    Réponses: 4
    Dernier message: 25/07/2005, 21h21

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