2013-08-02 4 views
1

У меня есть функция, которая возвращает напечатанный объект DataRow, и теперь я бы вставлял этот DataRow в данную таблицу. As far as I know Я мог бы сделать это, используя TableAdapter двумя способами: TableAdapter.Update и TableAdapter.Insert.Вставьте DataRow в таблицу

Оба способа кажутся довольно простыми в использовании, но первый способ может даже удалить строку из таблицы (по существу мой DataSet будет «сериализован» в моей таблице БД), и поскольку эта таблица действительно является важной частью приложения, я бы избегал любых вероятность удаления данных, поэтому я предпочел бы метод Insert.

Проблема, кажется, что Insert метод не принимает DataRow объекта, как это параметр (в отличие от Update), так что мне нужно вручную вставить каждые параметры. Увы, у меня есть как минимум 80 параметров, так что это действительно действительно головная боль. Что я могу сделать сейчас?

ответ

1

Метод обновления позволяет вам вставлять, обновлять или удалять изменения в таблицеAdapter. MSDN: «Используйте метод TableAdapter.Update, когда ваше приложение использует данные для хранения данных. Метод Update отправляет все изменения (обновления, вставки и удаления) в базу данных. Хотя Вставка используется для использования, если вы хотите больше контролировать ваши вставки данных, но не позволяете вам передавать datarow, вместо этого должны использоваться параметры. См. Полную ссылку на MSDN: http://msdn.microsoft.com/en-us/library/ms233812(v=vs.110).aspx

Пример кода использования метода обновления.

// Create a new row. 
NorthwindDataSet.RegionRow newRegionRow; 
newRegionRow = northwindDataSet.Region.NewRegionRow(); 
newRegionRow.RegionID = 5; 
newRegionRow.RegionDescription = "NorthWestern"; 

// Add the row to the Region table 
this.northwindDataSet.Region.Rows.Add(newRegionRow); 

// Save the new row to the database 
this.regionTableAdapter.Update(this.northwindDataSet.Region); 

Пример кода вставки:

NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
new NorthwindDataSetTableAdapters.RegionTableAdapter(); 

regionTableAdapter.Insert(5, "NorthWestern"); 
Смежные вопросы