[VB 2017] DVG et BDD recharger

Résolu
scoob79 Messages postés 27 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 5 septembre 2018 - Modifié le 4 sept. 2018 à 12:11
scoob79 Messages postés 27 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 5 septembre 2018 - 5 sept. 2018 à 10:20
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.

2 réponses

cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
Modifié le 4 sept. 2018 à 13:48
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

0
scoob79 Messages postés 27 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 5 septembre 2018
4 sept. 2018 à 15:55
Hi,

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

+
0
scoob79 Messages postés 27 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 5 septembre 2018
4 sept. 2018 à 15:54
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.
0
cs_Le Pivert Messages postés 7903 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 11 mars 2024 137
4 sept. 2018 à 16:48
voir ceci , tu trouveras ton bonheur aussi dans ce qui suis:

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

@+ Le Pivert
0
scoob79 Messages postés 27 Date d'inscription mercredi 20 janvier 2010 Statut Membre Dernière intervention 5 septembre 2018
5 sept. 2018 à 10:20
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
.

@+
0
Rejoignez-nous