Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Вставка новых записей в базу данных

Для вставки новых записей в базу данных можно использовать метод TableAdapter.Update или один из методов адаптера таблиц DBDirect (в частности метод TableAdapter.Insert). Дополнительные сведения см. в разделе Общие сведения об адаптере таблиц.

Если приложение не использует адаптеры таблиц, то для взаимодействия и вставки новых записей в базе данных можно использовать командные объекты (например SqlCommand).

Если приложение использует для хранения данных наборы данных, то целесообразно использовать метод TableAdapter.Update. Метод Update передает все изменения (обновления, вставки и удаления) в базу данных.

Применяйте метод TableAdapter.Insert, если приложение использует для хранения данных объекты, или когда требуется детальный контроль над созданием новых записей в базе данных.

Если адаптер таблиц не имеет метода Insert, это означает, что либо он настроен на использование сохраненных процедур, или свойство GenerateDBDirectMethods имеет значение false. Попробуйте присвоить свойству GenerateDBDirectMethods адаптера таблиц TableAdapter значение true из Конструктора наборов данныхи затем сохранить набор данных, чтобы заново создать адаптер таблиц. Если адаптер таблиц по-прежнему не имеет методаInsert, то таблица, скорее всего, не предоставляет достаточно сведений о схеме для различения отдельных строк (например нет первичного ключа).

Вставка новых записей с помощью адаптеров таблиц

Адаптеры таблиц предоставляют различные способы вставки новых записей в базу данных в зависимости от требований приложения.

Если приложение использует для хранения данных наборы данных, можно просто добавлять данные в нужную таблицу DataTableв наборе данных, а затем вызвать методTableAdapter.Update. Метод TableAdapter.Update принимает любые изменения вDataTableи отправляет эти изменения в базу данных (включая измененные и удаленные записи).

Для вставки новых записей в базу данных с помощью метода TableAdapter.Update:

  1. Добавьте новые записи в нужные таблицы DataTableпутем создания новых строкDataRowи добавления их к коллекцииRows. После добавления новых строк вDataTableвызовите методTableAdapter.Update. Можно контролировать объем данных для обновления путем передачи всегоDataSet, DataTable, массиваDataRow или однойDataRow.

Следующий фрагмент кода иллюстрирует добавление новой записи в DataTableи вызов методаTableAdapter.Update, чтобы сохранить новую строку в базе данных. (В этом примере используется таблицаRegionбазы данных "Борей").

// Create a new row.

Borei.RegionRow newRegionRow;

newRegionRow = Borei.Region.NewRegionRow();

newRegionRow.RegionID = 5;

newRegionRow.RegionDescription = "NorthWestern";

// Add the row to the Region table

this.Borei.Region.Rows.Add(newRegionRow);

// Save the new row to the database

this.regionTableAdapter.Update(this.Borei.Region);

Если приложение использует для хранения данных объекты, то для создания новых строк непосредственно в базе данных можно использовать метод TableAdapter.Insert. Метод Insert принимает отдельные значения для каждого столбца в качестве параметров. При вызове метода новая запись вставляется в базу данных с передаваемыми значениями параметров.

В следующей процедуре в качестве примера используется таблица Region базы данных Borei.