Сохранение данных из объекта в базу данных в приложениях платформа .NET Framework
Примечание.
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Технологии особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
Вы можете сохранить данные в объектах в базу данных, передав значения из объекта в один из методов DBDirect TableAdapter (например, TableAdapter.Insert
). Дополнительные сведения см. в статье TableAdapter.
Чтобы сохранить данные из коллекции объектов, выполните цикл по коллекции объектов (например, цикл для следующего) и отправьте значения для каждого объекта в базу данных с помощью одного из методов TableAdapter DBDirect
.
По умолчанию DBDirect
методы создаются в TableAdapter, который можно запускать непосредственно в базе данных. Эти методы могут вызываться напрямую и не требуются DataSet или DataTable объекты для согласования изменений для отправки обновлений в базу данных.
Примечание.
При настройке TableAdapter основной запрос должен предоставить достаточно сведений для DBDirect
создания методов. Например, если tableAdapter настроен для запроса данных из таблицы, которая не имеет определенного столбца первичного ключа, он не создает DBDirect
методы.
Метод TableAdapter DBDirect | Description |
---|---|
TableAdapter.Insert |
Добавляет новые записи в базу данных и позволяет передавать отдельные значения столбцов в качестве параметров метода. |
TableAdapter.Update |
Обновляет существующие записи в базе данных. Метод Update принимает исходные и новые значения столбцов в качестве параметров метода. Исходные значения используются для поиска исходной записи, а новые значения используются для обновления этой записи.Этот TableAdapter.Update метод также используется для согласования изменений в наборе данных обратно в базу данных путем приема DataSetили DataTableDataRowмассива в 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
таблице путем передачи новых и исходных значенийCustomer
в объект вTableAdapter.Update
метод.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
таблицы в базе данных.