Mise à jour BDD SQL via DataGridView [Résolu]

Signaler
Messages postés
10
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
6 janvier 2009
-
Messages postés
10
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
6 janvier 2009
-
Bonjour,

Je développe actuellement une application sous VB2005 travaillant avec SQL server 2005. Mon application se connecte, effectue des requêtes, affiche les résultats dans les IHM, crée des entrées dans des BDD ...etc.

Aujourd'hui je coince sur un problème de mise à jour de tables.

Mon but est de travailler sur un datagridview, celui-ci est alimenté par une structure type tableau. Une fois que le datagridview est rempli je souhaite transmettre l'intégralité de mon DataGridView à ma table.

Voici en gros le cheminement des données :

BDD SQL => Affiche table dans Datagrid => Modification des données du datagrid = > Mise à jour de la table

La table qui s'affiche dans le datagrid peut contenir n données et peut être aussi vide. L'IHM permet de supprimer, d'ajouter, modifier des données.

Actuellement voici le code que j'utilise pour me connecter et afficher les données d'une table dans mon datagrid :

        Dim MaConnexion As SqlConnection  = New SqlConnection
        Dim Base As String
        Dim objDs As New Data.DataSet()
        Dim objDA As SqlClient.SqlDataAdapter

        MaBDD = "BDD_C"
        MaTable = "T100808_000"
        RequeteSQL = "SELECT * FROM " & MaTable

        Base = "Data Source=" & MonServeur & ";Initial Catalog=" & MaBDD & ";Integrated Security=SSPI;"

        objDA = New SqlClient.SqlDataAdapter(RequeteSQL, Base)

        objDA.Fill(objDs, MaTable)

        DataGridView1.DataSource = objDs.Tables(0)

        MaConnexion.Close()


Pouvez-vous m'aider pour faire le cheminement inverse, Datagrid => Table BDD SQL ?

Merci d'avance.

1 réponse

Messages postés
10
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
6 janvier 2009

J'ai trouvé la solution à mon problème, celle-ci pourra peut être servir à d'autres.

La solution est la suivante :

Dim objBuilder AsNew SqlCommandBuilder(objDA)
objDA.Update(objDs, MaTable)

J'avais un bug avec cette commande car ma table n'avait pas de clé primaire.