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 :

Insertion de données dans une base mysql


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    étudiant
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut Insertion de données dans une base mysql
    Bonsoir à vous ! Heureux d'être ici!
    Je travail sur application de gestion de stock avec une base mysql. le souci se pose lorsque je fais une insertion dans cette dernière. Il s'enregistretre en doublons parfois. je ne sais pas exactement ce qui se passe. voici 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
    27
    28
    29
    30
    31
    32
    33
    34
    35
     Public Shared Sub modifier(ByVal nom As String, ByVal prenom As String, ByVal adress As String, ByVal tel As String, ByVal boite As String, ByVal ville As String, ByVal email As String, ByVal categorie As Integer, idclient As Integer)
                Try
                    conn = New MySqlConnection(chaine)
                    conn.Open()
                    cmd = New MySqlCommand
                    cmd.Connection = conn
                    cmd.CommandType = CommandType.Text
                    Dim reqsql As String
                    reqsql = "UPDATE Client SET Nomclt = @Nomclt, Prenomclt= @Prenomclt, AdressCt = @AdressCt, telephone = @telephone, Boitepostale = @Boitepostale, Ville = @Ville, Email = @Email, Categorie = @Categorie WHERE idClient = @idClient"
                    cmd.CommandText = reqsql
     
                    With cmd
                        .Parameters.Add(New MySqlParameter("@Nomclt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Prenomclt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@AdressCt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@telephone", MySqlDbType.Int24))
                        .Parameters.Add(New MySqlParameter("@Boitepostale", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Ville", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Email", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Categorie", MySqlDbType.Int24))
                        .Parameters.Add(New MySqlParameter("@idClient", MySqlDbType.Int24))
                    End With
     
                    With cmd
                        .Parameters("@Nomclt").Value = nom
                        .Parameters("@Prenomclt").Value = prenom
                        .Parameters("@AdressCt").Value = adress
                        .Parameters("@telephone").Value = tel
                        .Parameters("@Boitepostale").Value = boite
                        .Parameters("@Ville").Value = ville
                        .Parameters("@Email").Value = email
                        .Parameters("@Categorie").Value = categorie
                        .Parameters("@idClient").Value = idclient
     
                    End With
    lorsque je l'appel en envoyant les informations, cela se passe bien mais en doublons.
    merci pour votre aide.

  2. #2
    Membre expert Avatar de jopopmk
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2011
    Messages
    1 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 1 856
    Points : 3 570
    Points
    3 570
    Par défaut
    Salut,

    la méthode que tu nous présentes fait un UPDATE ...
    Plus je connais de langages, plus j'aime le C.

  3. #3
    Membre à l'essai
    Homme Profil pro
    étudiant
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bonsoir, Je suis de retour. Je m'excuse auprès de vous. J'ai été empêcher pour un bon moment. J'ai pas codé depuis lors. je vous pris...
    pour mon souci voici le code de l'insertion
    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 Shared Sub SaveClient(ByVal nom As String, ByVal prenom As String, ByVal adress As String, ByVal tel As String, ByVal boite As String, ByVal ville As String, ByVal email As String, ByVal categorie As Integer)
                Try
                    conn = New MySqlConnection(chaine)
                    conn.Open()
                    cmd = New MySqlCommand
                    cmd.Connection = conn
                    cmd.CommandType = CommandType.Text
                    Dim reqsql As String
                    reqsql = "INSERT INTO Client (Nomclt,Prenomclt,AdressCt,telephone,Boitepostale,Ville,Email,Categorie) values (@Nomclt,@Prenomclt,@AdressCt,@telephone,@Boitepostale,@Ville,@Email,@Categorie)"
                    cmd.CommandText = reqsql
     
                    With cmd
                        .Parameters.Add(New MySqlParameter("@Nomclt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Prenomclt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@AdressCt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@telephone", MySqlDbType.Int24))
                        .Parameters.Add(New MySqlParameter("@Boitepostale", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Ville", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Email", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Categorie", MySqlDbType.Int24))
                    End With
     
                    With cmd
                        .Parameters("@Nomclt").Value = nom
                        .Parameters("@Prenomclt").Value = prenom
                        .Parameters("@AdressCt").Value = adress
                        .Parameters("@telephone").Value = tel
                        .Parameters("@Boitepostale").Value = boite
                        .Parameters("@Ville").Value = ville
                        .Parameters("@Email").Value = email
                        .Parameters("@Categorie").Value = categorie
     
                    End With
    Merci encore

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Soit tu exécutes deux fois la cmd soit tu appels deux fois ta méthode SaveClient!

    Où alors tu n'as pas pris le temps de valider qu'il n'existait pas déjà!

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Elève Ingénieur
    Inscrit en
    Juillet 2014
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Elève Ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2014
    Messages : 26
    Points : 34
    Points
    34
    Par défaut
    Bonjour, pourquoi le bout de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     With cmd
                        .Parameters("@Nomclt").Value = nom
                        .Parameters("@Prenomclt").Value = prenom
                        .Parameters("@AdressCt").Value = adress
                        .Parameters("@telephone").Value = tel
                        .Parameters("@Boitepostale").Value = boite
                        .Parameters("@Ville").Value = ville
                        .Parameters("@Email").Value = email
                        .Parameters("@Categorie").Value = categorie
     
                    End With
    revient deux fois?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Difficile à dire nous ne voyons que ce que tu montre mdr!

  7. #7
    Membre à l'essai
    Homme Profil pro
    étudiant
    Inscrit en
    Août 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Cameroun

    Informations professionnelles :
    Activité : étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 15
    Points : 12
    Points
    12
    Par défaut
    Bonjour, cela ne vient pas deux fois; le premier c'est pour spécifier les variables(champs de la table) avec leur type respectif et le second assigne les paramètres envoyer à la fonction aux variables(champs de la table)
    Dysorthographie j'ai bien vérifier, voici
    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
     
    Dim reqsql As String
                    reqsql = "INSERT INTO Client (Nomclt,Prenomclt,AdressCt,telephone,Boitepostale,Ville,Email,Categorie) values (@Nomclt,@Prenomclt,@AdressCt,@telephone,@Boitepostale,@Ville,@Email,@Categorie)"
                    cmd.CommandText = reqsql
     
                    With cmd
                        .Parameters.Add(New MySqlParameter("@Nomclt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Prenomclt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@AdressCt", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@telephone", MySqlDbType.Int24))
                        .Parameters.Add(New MySqlParameter("@Boitepostale", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Ville", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Email", MySqlDbType.VarChar))
                        .Parameters.Add(New MySqlParameter("@Categorie", MySqlDbType.Int24))
                    End With
     
                    With cmd
                        .Parameters("@Nomclt").Value = nom
                        .Parameters("@Prenomclt").Value = prenom
                        .Parameters("@AdressCt").Value = adress
                        .Parameters("@telephone").Value = tel
                        .Parameters("@Boitepostale").Value = boite
                        .Parameters("@Ville").Value = ville
                        .Parameters("@Email").Value = email
                        .Parameters("@Categorie").Value = categorie
     
                    End With
     
                    Dim rest As Integer = cmd.ExecuteNonQuery
                    If rest > 0 Then
                        MsgBox("enregistrer", MsgBoxStyle.Information)
                    Else
                        MsgBox("pas enregistrer", MsgBoxStyle.Critical)
                    End If
    A l'appel il y a ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    If nom_txt.Text <> "" And prenom_txt.Text <> "" And tel_txt.Text <> "" And adress_txt.Text <> "" And boit_txt.Text <> "" And ville_txt.Text <> "" And email_txt.Text <> "" And idcatgClt.Text <> "" Then
                Client.SaveClient(nom_txt.Text, prenom_txt.Text, adress_txt.Text, tel_txt.Text, boit_txt.Text, ville_txt.Text, email_txt.Text, idcatgClt.Text)
            Else
                MsgBox("Veuillez remplir tous les champs", vbCritical)
            End If

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Je te rassures j'ai bien compris comment fonctionnait la méthode SaveClient, le problème n'est pas là donc ou et comment appels tu SaveClient!

    Place un point d'arrête touche [F9] ici Client.SaveClient et execute normalement ton programme et regardes le valeurs de chaque paramètres!
    Dernière modification par Invité ; 18/06/2017 à 16h18.

Discussions similaires

  1. [MySQL] Insertion de données dans une base MySQL via un formulaire
    Par rcomlan dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 09/02/2015, 19h53
  2. Insertion de données dans une base MySQL
    Par arm3366 dans le forum SGBD
    Réponses: 4
    Dernier message: 26/02/2013, 09h46
  3. [MySQL] Problème d'insertion de données dans une base MySql à partir d'un fichier csv
    Par kazabandi dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 22/12/2010, 18h05
  4. Insertion de donnée dans une base MySql
    Par jep33 dans le forum Langage
    Réponses: 4
    Dernier message: 05/11/2008, 07h44
  5. Réponses: 11
    Dernier message: 01/06/2005, 15h18

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