Mise à jour BDD SQL via DataGridView

Résolu
Alucard_W Messages postés 10 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 6 janvier 2009 - 6 janv. 2009 à 10:22
Alucard_W Messages postés 10 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 6 janvier 2009 - 6 janv. 2009 à 12:17
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

Alucard_W Messages postés 10 Date d'inscription mardi 29 mars 2005 Statut Membre Dernière intervention 6 janvier 2009
6 janv. 2009 à 12:17
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.
3