OleDbConnection connection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=\"C:\\Users\\User\\Desktop\\New Microsoft Access Database.accdb\"");
OleDbDataAdapter DataAdapter = new OleDbDataAdapter("SELECT *from pinakas", connection);
DataTable pinakas_Table = new DataTable();
DataAdapter.Fill(pinakas_Table);
MessageBox.Show(pinakas_Table.Rows[1]["Name"].ToString());
ИТАК эта строка отображает название «Джордж» моего 1-го Роу поля «Name».C# OleDB Сохранить изменения
pinakas_Table.Rows[1]["Name"] = "John";
Теперь эта строка задает поле "Имя" значение "John"
pinakas_Table.AcceptChanges();
DataAdapter.Fill(pinakas_Table);
MessageBox.Show(pinakas_Table.Rows[1]["Name"].ToString());
ОК теперь мое приложение отображает имя "Джон"! Это означает, что DataTable «pinakas_Table» получил изменение.
DataAdapter.Update(pinakas_Table);
Но он никогда не сохраняется в моей базе данных Access.
DataSet ds = new DataSet(); DataAdapter.Fill (ds); MessageBox.Show (ds.Tables [0] .Rows [1] ["Name"]. ToString()); ds.Tables [0] .Rows [1] ["Name"] = "John"; ds.AcceptChanges(); MessageBox.Show (ds.Tables [0] .Rows [1] ["Name"]. ToString()); DataAdapter.Update (ds.Tables [0]); // То же самое, когда я делаю это с DataSet вместо DataTable. Изменения не фиксируют –