Вставка новых записей в базу данных в приложениях платформа .NET Framework
Примечание.
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Они особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
Чтобы вставить новые записи в базу данных с ADO.NET в проекте платформа .NET Framework, можно использовать TableAdapter.Update
метод или один из методов DBDirect TableAdapter (в частностиTableAdapter.Insert
, метод). Дополнительные сведения см. в статье TableAdapter.
Если приложение не использует TableAdapters, можно использовать объекты команд (например, SqlCommandдля вставки новых записей в базу данных).
Если приложение использует наборы данных для хранения данных, используйте TableAdapter.Update
этот метод. Метод Update
отправляет все изменения (обновления, вставки и удаления) в базу данных.
Если приложение использует объекты для хранения данных или требуется более точное управление созданием новых записей в базе данных, используйте TableAdapter.Insert
этот метод.
Если в TableAdapter нет Insert
метода, это означает, что параметр TableAdapter настроен на использование хранимых процедур или GenerateDBDirectMethods
его свойство имеет значение false
. Попробуйте задать для свойства true
TableAdapter GenerateDBDirectMethods
значение из конструктора наборов данных, а затем сохранить набор данных. Это действие повторно создает TableAdapter. Если tableAdapter по-прежнему не имеет Insert
метода, таблица, вероятно, не предоставляет достаточно сведений о схеме, чтобы различать отдельные строки (например, в таблице может быть не задан первичный ключ).
Примечание.
Эта статья относится к ADO.NET и разработке платформа .NET Framework. Для той же задачи с Entity Framework 6 см. статью "Добавление новой сущности в контекст". Сведения о Entity Framework Core см. в разделе "Добавление данных".
Вставка новых записей с помощью TableAdapters
TableAdapters предоставляют различные способы вставки новых записей в базу данных в зависимости от требований приложения.
Если приложение использует наборы данных для хранения данных, можно добавить новые записи в нужный DataTable набор данных, а затем вызвать TableAdapter.Update
метод. Метод TableAdapter.Update
отправляет все изменения в DataTable базу данных (включая измененные и удаленные записи).
Вставка новых записей в базу данных с помощью метода TableAdapter.Update
Добавьте новые записи в нужное DataTable , создав новую DataRow и добавив ее в коллекцию Rows .
После добавления новых строк в DataTableметод вызовите
TableAdapter.Update
метод. Вы можете управлять объемом данных для обновления путем передачи всего DataSetмассива DataTableили одного DataRowмассиваDataRow.В следующем коде показано, как добавить новую запись в базу DataTable данных, а затем вызвать
TableAdapter.Update
метод для сохранения новой строки в базе данных. (В этом примере используетсяRegion
таблица в базе данных Northwind.)// 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);
Вставка новых записей в базу данных с помощью метода TableAdapter.Insert
Если приложение использует объекты для хранения данных, можно использовать TableAdapter.Insert
метод для создания новых строк непосредственно в базе данных. Метод Insert
принимает отдельные значения для каждого столбца в качестве параметров. Вызов метода вставляет новую запись в базу данных со значениями параметров, переданными в.
- Вызовите метод TableAdapter
Insert
, передавая значения для каждого столбца в качестве параметров.
Следующая процедура демонстрирует использование TableAdapter.Insert
метода для вставки строк. В этом примере данные вставляются в таблицу Region
в базе данных Northwind.
Примечание.
Если у вас нет доступного экземпляра, создайте экземпляр TableAdapter, который вы хотите использовать.
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter =
new NorthwindDataSetTableAdapters.RegionTableAdapter();
regionTableAdapter.Insert(5, "NorthWestern");
Вставка новых записей с помощью объектов команд
Новые записи можно вставлять непосредственно в базу данных с помощью объектов команд.
Вставка новых записей в базу данных с помощью объектов команд
- Создайте объект команды, а затем задайте его
Connection
CommandType
свойства иCommandText
свойства.
В следующем примере показано вставка записей в базу данных с помощью объекта команды. Он вставляет данные в таблицу Region
в базе данных Northwind.
System.Data.SqlClient.SqlConnection sqlConnection1 =
new System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING");
System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandText = "INSERT Region (RegionID, RegionDescription) VALUES (5, 'NorthWestern')";
cmd.Connection = sqlConnection1;
sqlConnection1.Open();
cmd.ExecuteNonQuery();
sqlConnection1.Close();
Безопасность в .NET
У вас должен быть доступ к базе данных, к к которому вы пытаетесь подключиться, и разрешение на вставку в нужную таблицу.
Связанный контент
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по