Bonjour,

Suite à un précédent poste, j'ai compris un peu mieux le fonctionnement des Dataset, DataAdapter, SQLCommandBuilder et j'en passe ...

Mon code est le suivant:

Code : 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
29
30
31
32
33
34
35
36
37
38
39
40
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
 
                sqlConnection1.ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=\"MABASE\";Integrated Security=True;Connect Timeout=30;User Instance=False;Context Connection=False";
 
                sdaPhotos = new SqlDataAdapter("SELECT * FROM PHOTOS", sqlConnection1);
                monDataSet.Tables.Add("Photos");
                sdaPhotos.Fill(monDataSet.Tables["Photos"]);
 
                sdaProduits = new SqlDataAdapter("SELECT * FROM PRODUITS", sqlConnection1);
                monDataSet.Tables.Add("Produits");
                sdaProduits.Fill(monDataSet.Tables["Produits"]);
 
                sdaProduits.TableMappings.Add("Table", "Photos");
                sdaPhotos.TableMappings.Add("Table", "Produits");
 
                SqlCommandBuilder builderPhotos = new SqlCommandBuilder();
                SqlCommandBuilder builderProduits = new SqlCommandBuilder();
 
                builderPhotos.DataAdapter = sdaPhotos;
                builderProduits.DataAdapter = sdaProduits;
 
                dataGridView1.DataSource = monDataSet.Tables[0];
                dataGridView2.DataSource = monDataSet.Tables[1];
 
            }
            catch (Exception exc)
            {
                MessageBox.Show(exc.Message);
            }
 
        }
 
        private void btnValider_Click(object sender, EventArgs e)
        {
            sdaPhotos.Update(monDataSet.Tables["Photos"]);
            sdaProduits.Update(monDataSet.Tables["Produits"]);
        }
Avec ce code, je visualise mes données et je peux modifier les données sous-jacentes par la commande update.

Et là me vient une question :
Quand j'utilise les assistants de VS, je retrouve sur mon formulaire un BindingSource.
Avec mon code, sans BindingSource, ça fonctionne tout aussi bien.

Donc, à quoi sert le BindingSource créé automatiquement par VS ?


Papy !