Cómo: Insertar nuevos registros en una base de datos
Para insertar nuevos registros en una base de datos, puede utilizar el método TableAdapter.Update o uno de los métodos DBDirect del TableAdapter (concretamente el método TableAdapter.Insert). Para obtener más información, vea Información general sobre TableAdapter.
Si su aplicación no utiliza TableAdapters, puede utilizar objetos de comando para interactuar e insertar nuevos registros en la base de datos (por ejemplo, SqlCommand).
Utilice el método TableAdapter.Update cuando su aplicación utilice conjuntos de datos para almacenar los datos. El método Update envía todos los cambios (actualizaciones, inserciones y eliminaciones) a la base de datos.
Utilice el método TableAdapter.Insert cuando la aplicación utilice objetos para almacenar datos o cuando desee conseguir mayor control sobre la creación de registros en la base de datos.
Si el TableAdapter no dispone de un método Insert, significa que el TableAdapter está configurado para utilizar procedimientos almacenados o que su propiedad GenerateDBDirectMethods está establecida en false. Pruebe a establecer la propiedad GenerateDBDirectMethods de TableAdapter en true desde el Diseñador de Dataset y guarde el conjunto de datos para volver a generar el TableAdapter. Si aun así el TableAdapter no dispone de un método Insert, probablemente la tabla no proporciona información suficiente para distinguir entre filas individuales (por ejemplo, la tabla no dispone de clave principal).
Insertar nuevos registros utilizando TableAdapters
Los TableAdapters proporcionan maneras diferentes de insertar nuevos registros en una base de datos en función de los requisitos de su aplicación.
Si la aplicación utiliza conjuntos de datos para almacenar datos, puede agregar nuevos registros al objeto DataTable del conjunto de datos y, a continuación, llamar al método TableAdapter.Update. El método TableAdapter.Update toma cualquier cambio en DataTable y envía esos cambios a la base de datos (incluidos registros modificados y eliminados).
Para insertar nuevos registros en una base de datos utilizando el método TableAdapter.Update
Agregue nuevos registros al objeto DataTable deseado creando un nuevo DataRow y agregándolo a la colección Rows. Para obtener más información, vea Cómo: Agregar filas a un DataTable.
Después de que las filas se agreguen en DataTable, llame al método TableAdapter.Update. Puede controlar la cantidad de datos que se actualizan pasando un objeto DataSet completo, un objeto DataTable, una matriz de DataRows o un único objeto DataRow.
En el código siguiente se muestra cómo agregar un nuevo registro en un objeto DataTable y cómo llamar al método TableAdapter.Update para guardar la nueva fila en la base de datos. (En este ejemplo se utiliza la tabla Region de la base de datos Northwind.)
' Create a new row. Dim newRegionRow As NorthwindDataSet.RegionRow newRegionRow = Me.NorthwindDataSet._Region.NewRegionRow() newRegionRow.RegionID = 5 newRegionRow.RegionDescription = "NorthWestern" ' Add the row to the Region table Me.NorthwindDataSet._Region.Rows.Add(newRegionRow) ' Save the new row to the database Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
// 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);
Si la aplicación utiliza objetos para almacenar los datos, puede utilizar el método TableAdapter.Insert para crear nuevas filas directamente en la base de datos. El método Insert acepta los valores individuales de cada columna como parámetros. Al llamar al método, se inserta un nuevo registro en la base de datos con los valores de parámetro pasados.
El procedimiento siguiente utiliza la tabla Region de la base de datos Northwind como un ejemplo.
Para insertar nuevos registros en una base de datos utilizando el método TableAdapter.Insert
Llame al método Insert del TableAdapter, pasando los valores de cada columna como parámetros.
Nota
Si no tiene una instancia disponible, cree una instancia de TableAdapter que desee utilizar.
Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter.Insert(5, "NorthWestern")
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdapters.RegionTableAdapter(); regionTableAdapter.Insert(5, "NorthWestern");
Insertar nuevos registros mediante objetos de comando
El ejemplo siguiente inserta nuevos registros directamente en una base de datos utilizando objetos de comando. Para obtener más información sobre el uso de objetos de comando para ejecutar comandos y procedimientos almacenados, vea Buscar datos en la aplicación.
El procedimiento siguiente utiliza la tabla Region de la base de datos Northwind como un ejemplo.
Para insertar nuevos registros en una base de datos utilizando objetos de comando
Cree un nuevo objeto de comando, establezca sus propiedades Connection, CommandType y CommandText.
Dim sqlConnection1 As New System.Data.SqlClient.SqlConnection("YOUR CONNECTION STRING") Dim cmd As 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()
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();
Seguridad
Debe tener acceso a la base de datos con la que intenta conectarse, así como permiso para realizar inserciones en la tabla deseada.
Vea también
Tareas
Cómo: Eliminar registros de una base de datos
Cómo: Actualizar los registros de una base de datos
Cómo: Guardar los datos de un objeto en una base de datos
Conceptos
Enlazar controles a los datos en Visual Studio
Recuperar valores de identidad o valores Autonuméricos (ADO.NET)
Otros recursos
Información general de las aplicaciones de datos en Visual Studio
Conectarse a datos en Visual Studio
Preparar la aplicación para recibir datos