Bonjour,
Je charge un DataGridView à partir d'une table d'un fichier access .. Cela fonctionne
Puis, je tente de répercuter les modifications apportées par l'utilisateur dans la base de donnée ... Et cela ne marche pas : Pas d'exception levée, En exécutant en pas à pas on voit que les lignes de code sont bien appelées, mais rien ... Le RowState passe bien de Modified à Unchanged ... c'est tout
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 public System.Data.OleDb.OleDbConnection Connection; public System.Data.OleDb.OleDbDataAdapter DataAdapter; public void OpenBase(){ // Connection à la base de donnée this.Connection = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=tfichier.mdb"); this.Connection.Open(); } public void LoadData(){ // Creation du DataAdapter this.DataAdapter = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM MaTable", this.Connection); // On charge les données System.Data.DataTable dt = new System.Data.DataTable(); this.DataAdapter.Fill(dt); // On lie le DataGridView à la DataTable this.DataGridView1.DataSource = dt; }
Qu'ai-je donc oubliée ???? J'ai essayer de passer par un DataSet au lieu d'un DataTable, cela ne change rien ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 public void SaveData(){ // La structure de la base étant hyper simple on passe ar un OleDBCommandBuilder System.Data.OleDb.OleDbCommandBuilder cb = new System.Data.OleDb.OleDbCommandBuilder(this.DataAdapter); this.DataAdapter.Update((System.Data.DataTable) this.dataGridView1.DataSource); }
Merci d'avance ...
Partager