я намагаюся додати новий рядок до моєї даних.
Я не маю помилок під час запуску цього коду, але в моїй таблиці нічого не сталося.
Ось мій код:
string table = "`DONNEE ENTRANT`";
OleDbDataAdapter adapter = new OleDbDataAdapter("SELECT * From " + table, _conn);
OleDbCommandBuilder cmdBuilder = new OleDbCommandBuilder(adapter);
DataTable dataTable = new DataTable(table);
adapter.Fill(dataTable);
DataRow row = dataTable.NewRow();
row["CODE LIAISON"] = "TEST";
dataTable.Rows.Add(row);
dataTable.AcceptChanges();
adapter.Update(dataTable);
Будь-яка ідея, що я роблю неправильно (таким чином, я знаю, що ми можемо запускати команду з oleDb, але насправді так не подобається ...).
Дякую
Відповіді:
1 для відповіді № 1Виходячи з того, що ви робите, здається, ви хочете, щоб новий рядок опинився в базі даних. Тому видаліть цей рядок:
dataTable.AcceptChanges();
тому що це змінюється RowState
до Unchanged
і вам потрібно це залишити на Added
. Далі, вам потрібно переконатися, що ваш adapter
має InsertStatement
визначено, щоб він міг ним скористатися.
0 для відповіді № 2
Я б використав [] замість `` але я вважаю, що відповідь на вирішення вашої проблеми вже дав @Michael Perrenoud