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 :

Manipuler une BD en VB avec TableDataGridview


Sujet :

VB.NET

  1. #1
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut Manipuler une BD en VB avec TableDataGridview
    Bonjour,

    Je cherche à comprendre de façon simple le fonctionnement avec Visual Studio 2015 d'une base de données SQL server.

    J'ai crée une base de données qui se nomme Base_test avec une table comportant 3 colonnes(Nom, prénom et age) nommée Table.
    Jusque là tout va bien enfin je pense !!

    A la suite de ça, j'ai inséré sur ma Form une TableDataGridview ce qui m'a crée automatiquement le TableadapterManager, Tabletableadapter TableBindingsource et Base_testDataset1. J'ai inséré un TableBindingNavigator pour voir le fonctionnement.


    Voilà où j'en suis après des heures de lectures. Quand je lance mon exe, les données sont bien affichées dans TableDataGridview car elle est liée mais je n'arrive pas à ajouter une ligne supplémentaire dans ma base de données alors que dans ma TableDataGridview elle y est.

    Mon code est devenu simple à force de ne rien trouver:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Me.Base_de_testDataSet1.Tables("Table").Rows.Add("DUPONT", "Roger", "45")
     Me.Validate()
            Me.TableBindingSource.EndEdit()
            Me.TableAdapterManager.UpdateAll(Me.Base_de_testDataSet1)
    Quelqu'un peut il m'expliquer comment résoudre mon problème ?

    Merci.

  2. #2
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut J'ai trouvé !!!
    Je vous livre mon code qui vaut ce qu'il vaut mais ça fonctionne !!

    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
    Imports System.Data.SqlClient
     
     Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
            Dim connexion As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB ; AttachDbFilename=C:xxxxx\xxxx.mdf;Integrated Security=True;Connect Timeout=30")  'je pointe ma connexion sur ma BD
     
            Try
     
    ' j'ouvre la connexion
                connexion.Open()
            Catch ex As Exception
                MessageBox.Show("Erreur de connexion", "Erreur", MessageBoxButtons.OK)
                Me.Close()
            End Try
     
            Dim reference, designation, sn, requette As String
            Dim datej As Date
            reference ="truc 1"
            designation = "truc 2"
            sn = "truc3"
            datej = "12/12/2012"
     
            requette = "insert into matable(date_saisie,réf,designation,SN,stock) values('" & datej & "','" & reference & "','" & designation & "','" & sn & "','un texte')"     'je crée ma requette
     
            Dim command As New SqlCommand(requette, connexion)
            Try
                command.ExecuteNonQuery()      ' je valide ma requette
                MsgBox("Fiche enregistrée", vbOKOnly)
     
                Me.TableAdapter.Fill(Me.monDataSet.matable)  'ici j'essaie de mettre à jour ma datagrid mais ça marche pas
                'Me.DataGridView.Refresh()
     
            Catch ex As Exception
                MessageBox.Show(ex.ToString & "Erreur lors De l'ajout ", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
     
        End Sub
    Dans mon code je peine toujours à réactualiser mon datagrid qui n'affiche pas la donnée derniérement saisie


    Je me remercie pour cette aide !!

  3. #3
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par ClemGreg Voir le message
    Je me remercie pour cette aide !!


    Si j'aurais un conseil à donner, ce serait d'ajouter une "couche" à ton modèle. Actuellement, tu affiches la base de données telle quel sur ton DataGridView et tu effectues des opérations dessus. Tu pourras vite te retrouvé embêté : exceptions si le format de donnée n'est pas correct, complications en cas de besoin de gérer l'affichage des données ou de contrôler celles-ci avant modification dans la base de données.

    L'idée serait donc de récupérer les valeurs dans une liste d'objets (où un objet correspondrait à un enregistrement en base) et de "binder" ton DataGridView sur cette liste.

  4. #4
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut
    Je ne suis pas un expert dans ce domaine et je débute avec Visual Studio et SQL server.

    Je comprends bien ton idée et elle m'intéresse, mais je vois pas comment tu procéderais.
    Il est vrai que quand je fais un enregistrement dans ma BD, ce dernier n'est pas affiché dans mon datagrid ce qui est un gros problème.
    jusqu'à présent j'ai pas trouvé de solution mais si tu as un bout de quelque chose pour me faire avancer je t'en remercie.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2013
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2013
    Messages : 1 563
    Par défaut
    Citation Envoyé par ClemGreg Voir le message
    Je comprends bien ton idée et elle m'intéresse, mais je vois pas comment tu procéderais.
    jusqu'à présent j'ai pas trouvé de solution mais si tu as un bout de quelque chose pour me faire avancer je t'en remercie.
    Tu peux, dans un premier temps, regarder comment exécuter une simple requête Select en .NET. Ensuite, en prévision de tes futurs besoins, faire les requêtes CRUD (Create Read Update Delete). Une fois que tu arrives a faire tes requêtes "brutes" avec .NET, il faudra que tu créés des objets pour contenir les valeurs (une recherche sur le terme DTO devrait t'en apprendre plus).

    Dernière étape, afficher ce que tu as dans tes objets dans ton Winform ! Tu ne manipuleras ainsi que des objets de données à ta guise

  6. #6
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut
    Ok merci pour tes recommandations, mais là j'ai un datagridview lié donc quand je fais un ajout avec ma requette "insert into.... je viens bien ajouter dans ma BD cette ligne.
    Ce que je n'arrive pas à comprendre c'est comment faire pour que cette ligne apparaisse dans ma DGV.
    Si ma base est modifiée avec insert, ma commande Me.TableAdapter.Fill(Me.monDataSet.matable) devrait mettre à jour ma tableadapter et donc ma DGV ?

    C'est là que je me perds je pense.
    Si tu as un bout de code à me proposer pour que je comprenne mieux le cheminement je suis preneur.

    Merci à toi.

    Bonne fêtes !!

  7. #7
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    Bonjour
    bonne fête à tous les membres du forum pour commencer !!!!

    Pour l'exécution d'une Transaction (Maj BD) :- declarer en portée du Form : datable,sqlDataAdapter et SqlCommandBuilder
    - le SqlCommandBuilder est associer au sqlDataAdapter
    Le role de ce Builder est de générer automatiquement les commandes : Insert,Update,Delete associe à la commande Select (suivant ses champs)
    du sqlDataAdapter quand il est initialisé (new )

    Maj du DGV:
    -est faite simplement par un bouton (ou un appel de sub après tran.Commit)

    code exemple .vb :
    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
     
     
    Imports System.Data.SqlClient
     
    Public Class TransactionDataAdapterForm
        Private Const PERSONNES_TABLE As String = "Personnes"
     
        Private dt As DataTable
        Private da As SqlDataAdapter
        Private cb As SqlCommandBuilder
     
        Private strConnection As String = My.Settings.PersonnesConnectionString
     
        Private Sub TransactionDataAdapterForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim sqlText As String = "SELECT * FROM " & PERSONNES_TABLE
     
            'Fill the Personnes table for editing.
            da = New SqlDataAdapter(sqlText, strConnection) 'la commande select est generée ici
     
            'Stop updating when an error is encountered for roll back.
            da.ContinueUpdateOnError = False
     
     
            ' Create CommandBuilder and generate updating logic.
            cb = New SqlCommandBuilder(da)
            cb.GetDeleteCommand()
            cb.GetInsertCommand()
            cb.GetUpdateCommand()
     
     
            'Create table and fill with orders schema and data.
            dt = New DataTable(PERSONNES_TABLE)
     
            da.FillSchema(dt, SchemaType.Source)
            da.Fill(dt)
     
            'Bind the default view of the table to the grid.
            DataGridView1.DataSource = dt.DefaultView
     
     
        End Sub
     
        Private Sub ButtonTransact_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TransactButton.Click
            'Create and open the connection.
            Dim conn As SqlConnection = New SqlConnection(strConnection)
            conn.Open()
     
            'Create and start the transaction.
            Dim tran As SqlTransaction = Nothing
            tran = conn.BeginTransaction()
     
            ' Associate CommandBuilder generated update commands with the transaction.
            da.SelectCommand.Transaction = tran
     
            'Update the data source.
            Try
                'Submit the changes.
                da.Update(dt)
     
                'Success. Commit.
                tran.Commit()
                '2eme OPTION
                'RefreshDGV()
     
     
            Catch ex As Exception
     
                'Exception. Roll back.Annulation en cas d'erreur 
                tran.Rollback()
     
                MessageBox.Show(ex.Message + Environment.NewLine +
                    "Transaction rolled back.")
     
            Finally
                conn.Close()
            End Try
        End Sub
     
        Private Sub RefreshButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RefreshButton.Click
            'Refresh the orders data.ici le refresh 
            dt.Clear()
            da.Fill(dt)
     
        End Sub
        '2eme OPTION  VIRER LE BOUTON REFRESH
        Private Sub RefreshDGV()
            'Refresh the orders data.ici le refresh 
            dt.Clear()
            da.Fill(dt)
     
        End Sub
    End Class
    Bon code.............

  8. #8
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut
    Merci pour ton code mais je n'arrive pas à comprendre et à adapter ce code.

    je bloque sur certains points, mais le mieux est peut être de voir 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
    34
    35
    36
    37
    38
    39
    40
    41
     
     
    Imports System.Data.SqlClient
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
                   Dim connexion As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB ; AttachDbFilename=C:\XXXX\Liste_rebuts.mdf;Integrated Security=True;Connect Timeout=30")
     
            Try
                connexion.Open()
            Catch ex As Exception
                MessageBox.Show("Erreur de connexion", "Erreur", MessageBoxButtons.OK)
                Me.Close()
            End Try 
     
     
                Dim reference, designation, sn, requette As String
                Dim datej As Date
                reference = ComboBox1.Text
                designation = ComboBox2.Text
                sn = TextBox1.Text
                datej = "12/12/2012"
     
                requette = "insert into matable(date_saisie,réf,designation,SN,stock) values('" & datej & "','" & reference & "','" & designation & "','" & sn & "','Stock de ma table')"
     
                Dim command As New SqlCommand(requette, connexion)
                Try
     
                    command.ExecuteNonQuery()
     
     
                    MsgBox("Fiche enregistrée", vbOKOnly)
     
                Catch ex As Exception
                    MessageBox.Show(ex.ToString & "Erreur lors De l'ajout de la ligne", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
     
     
                       matable.Clear()
                       matabletableadapter.Fill(dt)
     
        End Sub

    Cela me semblait bon mais a priori mon code n'est pas compilable en l'état !!!

  9. #9
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    re

    si tu veux travailler avec des requêtes qui changent et mettre à jour l'UI ,ton code doit être comporte des erreurs (variables accentuées à proscrire, noms des variables improvisées etc...) et doit être revu comme suit:
    code .vb
    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
     
     
    Imports System.Data.SqlClient
    Public Class Form2
        'HAUT PARLEUR: DECLARATION EN PORTEE CLASS FORM  
        Private matable As DataTable
        Private matabletAdapter As SqlDataAdapter
        Private requeteSQL As String
     
        Private strConnection As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=D:\DBStoreSQL14\Liste_rebuts.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True"
        'Private strConnection As String = My.Settings.Liste_rebutsConnectionString
        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'ComboBox1.Text = "bobo"
            'ComboBox2.Text = "blabla"
            'TextBox1.Text = "19dr2500"
            'CHARGEMENT 
            Dim connexion As New SqlConnection(strConnection)
     
            Try
                connexion.Open()
     
                requeteSQL = "SELECT * FROM matable"
                Dim command As New SqlCommand(requeteSQL, connexion)
                Try
                    matable = New DataTable
                    matabletAdapter = New SqlDataAdapter(command)
                    matabletAdapter.Fill(matable)
     
     
                    MsgBox("table chargee", vbOKOnly)
                    'binding ici
                    DataGridView1.DataSource = matable
     
                Catch ex As Exception
                    MessageBox.Show(ex.ToString & "Erreur lors du chargement", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
     
     
            Catch ex As Exception
                MessageBox.Show("Erreur de connexion", "Erreur", MessageBoxButtons.OK)
                Me.Close()
            End Try
        End Sub
     
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonUpdate.Click
     
            Dim connexion As New SqlConnection(strConnection)
     
            Try
                connexion.Open()
     
                Dim Reference, Designation, Sn As String
                Dim Stock As Integer = 1050
                Dim DateJour As Date
                Reference = ComboBox1.Text
                Designation = ComboBox2.Text
                Sn = TextBox1.Text
                DateJour = "26/12/2016"
     
                'Dim s As String = "'" & DateJour & "','" & Reference & "','" & Designation & "','" & Sn & "','" & Stock & "'"
                requeteSQL = "INSERT INTO matable(Date_Saisie,Ref,Designation,SN,stock) VALUES(" & "'" & DateJour & "','" & Reference & "','" & Designation & "','" & Sn & "','" & Stock & "'" & ")"
                Dim command As New SqlCommand(requeteSQL, connexion)
                Try
     
                    command.ExecuteNonQuery()
                    MsgBox("Fiche enregistrée", vbOKOnly)
     
                Catch ex As Exception
                    MessageBox.Show(ex.ToString & "Erreur lors De l'ajout de la ligne", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
     
                matable.Clear()
                matabletAdapter.Fill(matable)
            Catch ex As Exception
                MessageBox.Show("Erreur de connexion", "Erreur", MessageBoxButtons.OK)
                Me.Close()
            End Try
     
     
     
     
        End Sub
     
     
    End Class
    Et ne nous sort pas à chaque fois des versions improvisées !!!
    bon code....

  10. #10
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut
    Merci pour ton aide mais j'ai trouvé une solution qui pourrait aider certains.
    Matable correspond à la table de la base de données Liste_rebuts

    Ma datagridview est liée à ma base de données et à Matable

    Quand je clique sur Button2 une ligne est ajoutée dans ma Datagrid et aussi dans ma base de données Liste_rebuts

    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
     
    Imports System.Data.SqlClient
     
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
     
                  Dim connexion As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB ; AttachDbFilename=C:\xxxxx\Liste_rebuts.mdf;Integrated Security=True;Connect Timeout=30")
     
            Try
                connexion.Open()
            Catch ex As Exception
                MessageBox.Show("Erreur de connexion", "Erreur", MessageBoxButtons.OK)
                Me.Close()
            End Try
     
                Dim reference, designation, sn, requette, dernID As String
                Dim datej As Date
     
                reference = ComboBox1.Text
                designation = ComboBox2.Text
                sn = TextBox1.Text
                datej = "12/12/2012"
     
                requette = "insert into matable(date_saisie,réf,designation,SN,stock) values('" & datej & "','" & reference & "','" & designation & "','" & sn & "','STOCK')"
     
                Dim command As New SqlCommand(requette, connexion)
                Try
     
                command.ExecuteNonQuery()
                dernID = madataDataGridView.ColumnCount
                Liste_rebutsDataSet.Tables("matable").Rows.Add(dernID + 1, datej, reference, designation, sn, "SODEXO")
     
                matableTableAdapter.Update(Liste_rebutsDataSet.matable)
                matableTableAdapter.Fill(Liste_rebutsDataSet.matable)
     
     
     
            Catch ex As Exception
                    MessageBox.Show(ex.ToString & "Erreur lors De l'ajout du matériel", "erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                End Try
     
     
        End Sub

    En espérant que cela puisse servir à d'autres !!

  11. #11
    Membre averti
    Homme Profil pro
    Architecte matériel
    Inscrit en
    Septembre 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte matériel

    Informations forums :
    Inscription : Septembre 2015
    Messages : 23
    Par défaut Toujour en galère !!
    Bonjour,

    J'essaie toujours de comprendre mieux la façon dont cela fonctionne et j'ai avancé mais je bloque toujours sur le même point.

    J'ai ma base de données GestionProd.mdf avec un datagrid lié à ma table categorie de ma base.

    Donc BD: GestionProd.mdf
    Dataset: GestionProdDataSet1
    Table: categorie

    Sur ma form j'ai ma Datagrid un bouton ajout et une textBox pour la donnée à entrer.

    Dans mon code ci-dessous, j'arrive bien à me connecter à ma BD, enregistrer dedans ma donnée mais je n'arrive pas à mettre à jour le Datagrid tout au moins à afficher la dernière donnée.

    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
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            'ouverture d'une boite de dialogue
            Dim Nom As String
            Nom = InputBox("Saisie de la catégorie : ", "Nouvelle Catégorie")
    
            'ajout des informations dans la base de données
            Dim connexion As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:GestionProd.mdf;Integrated Security=True;Connect Timeout=30")
    
            'tentative de connexion à la BD
            Try
                connexion.Open()
            Catch ex As Exception
                MessageBox.Show("Erreur de connexion à la base de données", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
                Me.Close()
            End Try
    
            'enregistrement dans le BD
            Dim catego As String
            catego = Nom
    
            Dim requete As String
            requete = "insert into categorie(Categorie) values ('" & catego & "')"
    
            Dim commande As New SqlCommand(requete, connexion)
    
            Try
    
                commande.ExecuteNonQuery()
                MsgBox("Fiche produit correctement enregistrée", vbOKOnly, "Confirmation")
            Catch ex As Exception
                MessageBox.Show(ex.ToString & "Erreur lors de l'ajout à la base de données", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
    
            'Affichage dans la datagrid
            CategorieTableAdapter.Update(GestionProdDataSet1.categorie)
            CategorieDataGridView.DataSource = GestionProdDataSet1.Tables("categorie")
            CategorieDataGridView.Refresh()
    
        End Sub
    C'est dans la fin de mon code pour l'affichage dans la datagrid que ça pêche et après plusieurs tentatives je séche !!

    Merci pour votre aide.

Discussions similaires

  1. Manipuler une boite de dialogue avec vba
    Par novice_prime dans le forum Contribuez
    Réponses: 0
    Dernier message: 14/03/2013, 13h02
  2. Manipuler une ontologie OWL-s avec Java ?
    Par kiki230 dans le forum Services Web
    Réponses: 5
    Dernier message: 04/06/2012, 16h46
  3. manipuler une table access sous Vb.net avec commande SQL
    Par vb.net.2008 dans le forum VB.NET
    Réponses: 5
    Dernier message: 29/01/2009, 09h44
  4. manipuler une Vue avec une autre classe
    Par Thelo dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 02/05/2008, 11h46
  5. manipuler une BDD mysql avec eclipse
    Par Mounr dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 19/06/2007, 01h36

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