Synchronisation BDD Access à partir d'un DataGridView [Résolu]

Messages postés
14357
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
19 janvier 2019
- - Dernière réponse : NHenry
Messages postés
14357
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
19 janvier 2019
- 31 mars 2008 à 16:44
Bonjour

J'ai un petit problème, j'ai définit une fonction pour récupérer un DataSet à partir d'une requête SQL :
   Private Function GetDataSet(ByVal pSql As String, ByVal pTableName As _
      String, ByVal pDataSet As DataSet, ByVal pClearDataSet As Boolean) As _
      DataSet
        Dim MyAdapter As OleDbDataAdapter = New OleDbDataAdapter()
        Dim MyCommand As OleDbCommand
        Dim CmdBuild As OleDbCommandBuilder

        Try
            MyCommand = New OleDbCommand(pSql, mConnection)
            MyAdapter.SelectCommand = MyCommand
            CmdBuild = New OleDb.OleDbCommandBuilder(MyAdapter)
            MyAdapter.UpdateCommand = CmdBuild.GetUpdateCommand
            If pClearDataSet Then pDataSet.Clear()
            MyAdapter.Fill(pDataSet, pTableName)
            'MyAdapter.
            'A ce niveau les donnes résultantes de la requete
            'se trouvent dans => MyDataSet.Tables(0)
            Return pDataSet
        Catch ex As Exception
            MessageBox.Show("Impossible de créer le dataSet. " & _
              ex.Message)
            Return Nothing
        End Try
    End Function, ----
(Coloration syntaxique automatique par Kenji)

Mon problème c'est que lorsque je modifie mon DataGridView, je voudrais que les modifications soient apportées à la base de données.

J'ai essayer cela pour mettre à jour ma base de données, j'ai essayer ça :
            DGProduits.Update()
            DirectCast(DGProduits.DataSource, Data.DataSet).AcceptChanges()
Mais ça ne fonctionne pas.

Auriez-vous une aide précieuse à m'apporter, S.V.P. ?

Merci d'avance.

J'ai rechercher sur le forum, mais je n'ai rien trouvé.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site
Afficher la suite 

Votre réponse

1 réponse

Meilleure réponse
Messages postés
14357
Date d'inscription
vendredi 14 mars 2003
Dernière intervention
19 janvier 2019
365
3
Merci
Bonjour

Bon en fouillant les tréfond du Web, je suis finalement tombé (et ça fait son effet, une boss) sur la solution, simple, mais pas évidente :

Au moment de la création du DataSet, on utilise un DataAdapter.
Il faut le mémoriser avec le dataset et au moment de la mise à jour, il faut utiliser cette commande :
DataAdapter.Unpdat(DataSet.Tables(0))
Bien entendu, le (0) est la première tabole, à adapter selon le besoin.
Pour le DatagridView, il faut juste lui passer le DataSet ainsi que le nom de la table à afficher/modifier.

Nous captons le cockpit coupable qui a capoté
VB (6, .NET1&2), C++, C#.Net1
Mon site

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 98 internautes nous ont dit merci ce mois-ci

Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.