[VB 2017] DVG et BDD recharger [Résolu]

Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Statut
Membre
Dernière intervention
5 septembre 2018
-
Bonjour @ tous,

une fois de plus je sèche sur les base de données. J'ai relié une DGV à une BDD en mdb via la propriété DataSource. Jusque'là pas de soucis or lors que je mets à jour la BDD la DGV ne se mets pas à jours automatiquement comme pas mal de forum le prétende.

Est-ce que quelqu'un aurait une idée ?

Thank @+

P.S. pormis lorsque j'aurais tout les informations sur les BDD et leur utilisation je ferais un petit tuto dessus posté ici et sur Github.
Afficher la suite 

2 réponses

Messages postés
6155
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2019
83
0
Merci
Bonjour,

pourtant les exemples ne manquent pas!

https://codes-sources.commentcamarche.net/source/list/visual-basic-vb-net-1/17-base-de-donnees/last

Il y a même un excellent Tuto avec une source déposée:

https://codes-sources.commentcamarche.net/faq/1133-gestion-des-donnees-visual-basic-2008-et-sql-server-ce

Comme tu peux le constater tu as l'embarras du choix

scoob79
Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Statut
Membre
Dernière intervention
5 septembre 2018
-
Hi,

j'ai déjà fait cette recherche il y a deux jour ;)

+
Commenter la réponse de cs_Le Pivert
Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Statut
Membre
Dernière intervention
5 septembre 2018
0
Merci
Salut,

merci pour ta réponse mais ce que je recherche est très précis car via les Adapater cela ne fonctionne pas. D'ailleurs je ne vois pas trop pourquoi. Mais effectivement je ne l'ai pas précisé mais pour modifier la BDD je passe par OleDbConnection et lorsque je fais mes modification je souhaite les appliquer de façons immédiate sur un DGV.

C'est pour cette raison que je tente d'utiliser Data Source. Suite à de multiple test j'arrive à recharger la base mais malheureusement il me recharge la même base comme si je n'avais pas fais de modification(Exemple suppression de toutes les lignes.

        
        Try
            'Variable définie comme suit : DGV = DataGridView6.DataSource afain d'avoir sa valeur à vide, si je ne le fait pas mon Clear() plante car je ne peux pas modifier une DGV connectée à une BDD
            DataGridView6.DataSource = DGV 
            DataGridView6.Rows.Clear()
            DataGridView6.Refresh()
            Me.AlarmeTableAdapter.FillBy(Me.BDDDataSet.Alarme)
            DataGridView6.DataSource = Me.BDDDataSet.Alarme
            DataGridView6.Refresh()
        Catch ex As System.Exception
            System.Windows.Forms.MessageBox.Show(ex.Message)
        End Try


En faite j'ai l'impression que mon dataset
Me.BDDDataSet.Alarme
ne se met pas à jour par rapport à la base.
cs_Le Pivert
Messages postés
6155
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2019
83 -
voir ceci , tu trouveras ton bonheur aussi dans ce qui suis:

http://vb.net-informations.com/dataadapter/dataadapter-datagridview-sqlserver.htm

@+ Le Pivert
scoob79
Messages postés
27
Date d'inscription
mercredi 20 janvier 2010
Statut
Membre
Dernière intervention
5 septembre 2018
-
Un grand merci. Après quelques correction du code tout fonctionne parfaitement.

Voici le code, pour Rappel cela charge de façon instantané une table dans un DGV sans passer par des boucles :

    Private Sub Recup()
        Dim connetionString As String
        Dim connection As OleDbConnection
        Dim cmd As New OleDbCommand
        Dim oledbAdapter As OleDbDataAdapter
        Dim ds As New DataSet
        Dim i As Integer
        connetionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=BDD.mdb;"
        connection = New OleDbConnection(connetionString)
        Try
            Dim UpdateCommand = New OleDbCommand("select * from Alarme")
            connection.Open()
            oledbAdapter = New OleDbDataAdapter(UpdateCommand)
            oledbAdapter.SelectCommand.Connection = connection
            oledbAdapter.Fill(ds)
            oledbAdapter.Dispose()
            connection.Close()
            DataGridView1.DataSource = ds.Tables(0)
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub


Pour le tester une Form, une DGV et vous lancer ce code après l'adaptation de la variable
connetionString
.

@+
Commenter la réponse de scoob79