Cómo: Eliminar registros de una base de datos
Para eliminar registros de una base de datos, utilice el método TableAdapter.Update o el método TableAdapter.Delete. Si su aplicación no utiliza TableAdapters, puede utilizar objetos de comando para eliminar registros de una base de datos (por ejemplo, ExecuteNonQuery).
Generalmente se utiliza el método TableAdapter.Update cuando la aplicación utiliza conjuntos de datos para almacenar datos, en tanto que se utiliza el método TableAdapter.Delete cuando la aplicación utiliza objetos para almacenar los datos.
Si el TableAdapter no dispone de un método Delete, 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 Delete, probablemente la tabla no proporciona información suficiente para distinguir entre filas individuales (por ejemplo, la tabla no dispone de clave principal).
Eliminar registros mediante TableAdapters
Los TableAdapters proporcionan maneras diferentes de eliminar registros de 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 eliminar los registros del conjunto DataTable deseado en DataSet y, a continuación, llamar al método TableAdapter.Update. El método TableAdapter.Update toma cualquier cambio en la tabla de datos y envía esos cambios a la base de datos (incluidos registros insertados, actualizados y eliminados).
Para eliminar registros de una base de datos utilizando el método TableAdapter.Update
Elimine los registros del DataTable deseado eliminando los objetos DataRow de la tabla. Para obtener más información, vea Cómo: Eliminar filas en un DataTable. Después de que las filas se eliminen de 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 eliminar un registro de un objeto DataTable y cómo llamar al método TableAdapter.Update para comunicar el cambio y eliminar la fila de la base de datos. (En este ejemplo se utiliza la tabla Region de la base de datos Northwind.)
' Locate the row to delete. Dim oldRegionRow As NorthwindDataSet.RegionRow oldRegionRow = NorthwindDataSet._Region.FindByRegionID(5) ' Delete the row from the dataset oldRegionRow.Delete() ' Delete the row from the database Me.RegionTableAdapter.Update(Me.NorthwindDataSet._Region)
// Locate the row to delete. NorthwindDataSet.RegionRow oldRegionRow; oldRegionRow = northwindDataSet.Region.FindByRegionID(5); // Delete the row from the dataset oldRegionRow.Delete(); // Delete the row from the database this.regionTableAdapter.Update(this.northwindDataSet.Region);
Si la aplicación utiliza objetos para almacenar los datos, puede utilizar los métodos DBDirect del TableAdapter para eliminar datos de los objetos directamente en la base de datos. Al llamar al método Delete, se quitan registros de la base de datos basándose en los valores de parámetro pasados.
Para eliminar registros de una base de datos utilizando el método TableAdapter.Delete
Llame al método Delete del TableAdapter, pasando los valores de cada columna como parámetros de Delete. (En este ejemplo se utiliza la tabla Region de la base de datos Northwind.)
Nota
Si no tiene una instancia disponible, cree una instancia de TableAdapter que desee utilizar.
Dim regionTableAdapter As New NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter.Delete(5, "NorthWestern")
NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = new NorthwindDataSetTableAdapters.RegionTableAdapter(); regionTableAdapter.Delete(5, "NorthWestern");
Eliminar registros mediante objetos de comando
El ejemplo siguiente elimina directamente registros de 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.
Para eliminar registros de una base de datos mediante objetos de comando
Cree un nuevo objeto de comando, establezca sus propiedades Connection, CommandType y CommandText. (En este ejemplo se utiliza la tabla Region de la base de datos Northwind.)
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 = "DELETE Region WHERE RegionID = 5 AND RegionDescription = '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 = "DELETE Region WHERE RegionID = 5 AND RegionDescription = '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 eliminar registros de la tabla deseada.
Vea también
Tareas
Cómo: Insertar nuevos registros en 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
Información general sobre TableAdapter
Enlazar controles a los datos en Visual Studio
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