Bonjour,

Je suis sur un code simple en VB avec une base de données SQL Server qui contient une table des plus simples (Nom)
Pour mettre tout ça en relation et en forme, j'ai utilisé le concepteur de Visual Studio.

J'ai commencé par créer une base de données nommée "etiquette" avec dedans une table "liste".

Sur ma form vierge j'ai donc ajouté un datagridview1 qui est lié à la table "liste", une textbox1 "nom" et un bouton ajouté.
Jusque là tout va bien, je saisie ma textbox et quand je clique sur ajouter, je viens modifier mon dataset qui met à jour mon Datagridview. Ensuite je viens ouvrir une connexion de ma base de données et je fais une requête d'insertion.

Ce que je n'arrive pas à faire ni à comprendre, c'est comment faire un Update de ma base de données à partir de mon Dataset. J'insére, je modifie, je supprime dans mon dataset mais comment mettre à jour ma base de données simplement puisque cette dernière est liée ? J'ai lu qu'il fallait utiliser l'adapter mais je n'y arrive pas .

Dataset: BD_testdataset
Binding: TabletestBindingSource
Table adapter: Table_testTableAdapter

Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
 
  'MODIFICATION D'UN ENREGISTREMENT
 
        Dim truc As String
        truc = textbox1.text
 
        'OUVERTURE DE LA BASE DE DONNEES
 
        BD_testDataSet.Tables("etiquette").Rows(1).Item("nom") = truc  'ecrit dans dataset et modifie  datagrid
 
        Dim connexion As New SqlConnection("Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\xxxxx\Test_code\BD_test.mdf;Integrated Security=True;Connect Timeout=30")
 
        'tentative de connexion à la BD
        Try
            connexion.Open()
        Catch ex As Exception
            MessageBox.Show("Erreur de connexion à la base de données", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
            Me.Close()
        End Try
        'enregistrement dans le BD
        Dim requete As String
        requete = "UPDATE etiquette SET nom= '" & truc & "' where id=4 "
 
        Dim commande As New SqlCommand(requete, connexion)
        commande.ExecuteNonQuery()
 
        MsgBox("Base de données modification de l'enregistrement réussi !", vbOKOnly, "Confirmation")

Je vous remercie de votre aide.