Если ваше представление данных подключено к базе данных, и вы не хотите использовать SQL, я могу предположить, что оно связано с источником данных.Если вы выполнили это через Visual Studio Designer, должны быть TableAdapter
(если он автоматически сгенерирован, вероятно, называется YOURTABLENAMETableAdapter ) и BindingSource
(если он автоматически сгенерирован, вероятно, называется YOURTABLENAMEBidingSource ).
Чтобы обновить базу данных, вам нужно вызвать BindingSource.EndEdit (), а затем TableAdapter.Update ().После того, как вы это сделали, вы можете обновить свои данные.
РЕДАКТИРОВАТЬ
Теперь, когда вы предоставили более подробную информацию, я могу дать вам лучший ответ.В моем предыдущем ответе я предполагал, что вы создали все вместе с конструктором, потому что вы не хотели использовать SQL для обновления.Очевидно, я был неправ.
Чтобы достичь того, что вы ищете, вы должны использовать класс OleDbCommandBuilder
, который, с помощью команды SELECT
, автоматически генерирует простую команду редактирования (insert /обновить / удалить) для вашей таблицы.
ниже приведен пример использования вашего кода:
dsView = new DataSet();
adp = new OleDbDataAdapter("SELECT * FROM Items", Conn);
OleDbCommandBuilder cb = new OleDbCommandBuilder(adp);
adp.Fill(dsView, "Items");
this.dataGridView1.DataSource = dsView.Tables["Items"].DefaultView;
//adp.Dispose(); You should dispose you adp only when it is not loger needed (eg: after performing the update)
Теперь, после внесения изменений в данные, вы можете позвонить
adp.Update(dsView, "Items");