Как обновить источник данных в C # - PullRequest
2 голосов
/ 08 октября 2010

Я работаю над приложением на основе форм Windows в Visual Studio 2008, используя C # с базой данных Access в качестве внутреннего интерфейса.Я добавил базу данных Access в проект, перейдя на Data->Add New Data Source, и я в состоянии получить данные из базы данных DataSet, сделанной на заказ.

Моя следующая цель - сохранить новые данные обратно в Accessбазы данных, создавая новую строку.Однако я не могу понять, как это сделать.Похоже, мне нужен либо OLEDbConnection для базы данных, либо TableAdapter для подключения к базе данных, но у меня, похоже, нет ни одного из них.Я бы подумал, что они будут сделаны заранее или что-то в этом роде, когда я добавлю новый источник данных, точно так же, как DataSet, но если это так, я не могу понять, как на них ссылаться.лучший способ добавить данные обратно в источник данных, который был добавлен в проект?

Ответы [ 2 ]

4 голосов
/ 08 октября 2010

Возможно, у вас есть (настроенный) TableAdapter, он находится в подпространстве имен с вашим (сгенерированным) набором данных.

Где-то в вашем коде должен быть Adapter.Fill(table), найдите его.
Скопируйте и измените его на Adapter.Update(table) для обратной записи в базу данных.

Вместо того, чтобы рассказывать о множестве других способов добавления записи, посмотрите видео здесь

2 голосов
/ 13 октября 2010

Вот так я и решил: Мне пришлось создать новый адаптер таблицы, создать новую строку и затем обновить адаптер таблицы с ним.

// Set up the table adapter and new row
MyDataSetTableAdapters.EmployeeTableAdapter adapter;
adapter = new MyDataSetTableAdapters.EmployeeTableAdapter();
MyDataSet.EmployeeDataTable table = adapter.GetData();
MyDataSet.EmployeeRow newRow;
newRow = table.NewEmployeeRow();

// Insert the values of the fields into the new row here

// Save the row
table.AddEmployeeRow(newRow);
adapter.Update(table);

Спасибо за помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...