Ik krijg het maar niet voorelkaar om de veranderingen die de gebruiker gemaakt heeft in een datagrid door te voeren in de database.
Ik gebruik de volgende code:
Verderop in de code ga ik updaten:
Wat ik ook doe, elke keer wordt er niet geupdate, terwijl er toch degelijk veranderingen zijn.
Ik krijg geen errors of exceptions
Iemand een idee?
Ik gebruik de volgende code:
C#:
1
2
3
4
5
6
7
8
| OleDbCommand selectCmd = new OleDbCommand("select * from " + listBox1.Text, db.connection); dataAdapter = new OleDbDataAdapter(); dsTables = new DataSet(); dataAdapter.FillSchema(dsTables,SchemaType.Source,listBox1.Text); dataAdapter.Fill(dsTables, this.database); dataGrid1.DataSource = dsTables.Tables[this.database].DefaultView; OleDbCommandBuilder custCB = new OleDbCommandBuilder(dataAdapter); dataAdapter.UpdateCommand = custCB.GetUpdateCommand(); |
Verderop in de code ga ik updaten:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| if (dsTables.HasChanges()) { try { DataSet changedData = dsTables.GetChanges(); int numRows = dataAdapter.Update(changedData, listBox1.Text); MessageBox.Show(numRows + " rows changed"); } catch(Exception ex) { MessageBox.Show(ex.Message); } } |
Wat ik ook doe, elke keer wordt er niet geupdate, terwijl er toch degelijk veranderingen zijn.
Ik krijg geen errors of exceptions
Iemand een idee?
Wat niet kan is nog nooit gebeurd