Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Классы DataSet и связанные классы являются устаревшими технологиями .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти, пока приложения отключены от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных являются проверенными успешными технологиями, рекомендуемый подход для новых приложений .NET заключается в использовании Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей и имеет более простой интерфейс программирования.
Вы можете сохранить данные в объектах в базу данных, передав значения из объекта в один из методов DBDirect TableAdapter (например, TableAdapter.Insert). Дополнительные сведения см. в статье TableAdapter.
Чтобы сохранить данные из коллекции объектов, выполните итерацию по коллекции объектов (например, цикл for-next) и отправьте значения для каждого из объектов в базу данных с помощью одного из методов TableAdapter DBDirect.
По умолчанию DBDirect методы создаются на TableAdapter, который можно запускать непосредственно с базой данных. Эти методы могут вызываться напрямую и не требуются DataSet или DataTable объекты для согласования изменений для отправки обновлений в базу данных.
Замечание
При настройке TableAdapter основной запрос должен предоставить достаточно сведений для создания методов с использованием DBDirect. Например, если tableAdapter настроен для запроса данных из таблицы, которая не имеет определенного столбца первичного ключа, он не создает DBDirect методы.
| Метод TableAdapter DBDirect | Описание |
|---|---|
TableAdapter.Insert |
Добавляет новые записи в базу данных и позволяет передавать отдельные значения столбцов в качестве параметров метода. |
TableAdapter.Update |
Обновляет существующие записи в базе данных. Метод Update принимает исходные и новые значения столбцов в качестве параметров метода. Исходные значения используются для поиска исходной записи, а новые значения используются для обновления этой записи.Этот TableAdapter.Update метод также используется для возврата изменений в наборе данных в базу данных, принимая DataSet, DataTable, DataRow или массив DataRowов в качестве параметров метода. |
TableAdapter.Delete |
Удаляет существующие записи из базы данных на основе исходных значений столбцов, переданных в качестве параметров метода. |
Сохранение новых записей из объекта в базу данных
Создайте записи, передав значения в
TableAdapter.Insertметод.В следующем примере создается новая запись клиента в
Customersтаблице путем передачи значенийcurrentCustomerв объект методуTableAdapter.Insert.private void AddNewCustomers(Customer currentCustomer) { customersTableAdapter.Insert( currentCustomer.CustomerID, currentCustomer.CompanyName, currentCustomer.ContactName, currentCustomer.ContactTitle, currentCustomer.Address, currentCustomer.City, currentCustomer.Region, currentCustomer.PostalCode, currentCustomer.Country, currentCustomer.Phone, currentCustomer.Fax); }
Обновление существующих записей из объекта в базу данных
Измените записи путем вызова
TableAdapter.Updateметода, передачи новых значений для обновления записи и передачи исходных значений для поиска записи.Замечание
Объект должен поддерживать исходные значения, чтобы передать их методу
Update. В этом примере используются свойства сorigпрефиксом для хранения исходных значений.В следующем примере существующая запись в таблице
Customersобновляется путем передачи новых и исходных значений в методTableAdapter.Updateчерез объектCustomer.private void UpdateCustomer(Customer cust) { customersTableAdapter.Update( cust.CustomerID, cust.CompanyName, cust.ContactName, cust.ContactTitle, cust.Address, cust.City, cust.Region, cust.PostalCode, cust.Country, cust.Phone, cust.Fax, cust.origCustomerID, cust.origCompanyName, cust.origContactName, cust.origContactTitle, cust.origAddress, cust.origCity, cust.origRegion, cust.origPostalCode, cust.origCountry, cust.origPhone, cust.origFax); }
Удаление существующих записей из базы данных
Удалите записи, вызвав
TableAdapter.Deleteметод и передав исходные значения, чтобы найти запись.Замечание
Объект должен поддерживать исходные значения, чтобы передать их методу
Delete. В этом примере используются свойства сorigпрефиксом для хранения исходных значений.В следующем примере запись удаляется из таблицы
Customersпутем передачи исходных значений объектаCustomerв методTableAdapter.Delete.
Безопасность .NET
Вы должны иметь разрешение на выполнение выбранных INSERT, UPDATE или DELETE над таблицей в базе данных.