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

NHenry 14204 Messages postés vendredi 14 mars 2003Date d'inscription 20 juin 2018 Dernière intervention - 21 mars 2008 à 16:19 - Dernière réponse : NHenry 14204 Messages postés vendredi 14 mars 2003Date d'inscription 20 juin 2018 Dernière intervention
- 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
NHenry 14204 Messages postés vendredi 14 mars 2003Date d'inscription 20 juin 2018 Dernière intervention - 31 mars 2008 à 16:44
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

Merci NHenry 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 123 internautes 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.