Compartir a través de


Acceder directamente a la base de datos con un TableAdapter en aplicaciones .NET Framework

Nota:

Los conjuntos de datos y las clases relacionadas son tecnologías heredadas de .NET Framework de principios de la década de 2000 que permiten a las aplicaciones trabajar con datos en memoria mientras están desconectadas de la base de datos. Son especialmente útiles para las aplicaciones que permiten a los usuarios modificar los datos y conservar los cambios en la base de datos. Aunque los conjuntos de datos han demostrado ser una tecnología de gran éxito, se recomienda que las nuevas aplicaciones de .NET usen Entity Framework Core. Entity Framework proporciona una manera más natural de trabajar con datos tabulares como modelos de objetos y tiene una interfaz de programación más sencilla.

Además de InsertCommand, UpdateCommand y DeleteCommand, los objetos TableAdapter se crean con métodos que se pueden ejecutar directamente en la base de datos. Puede llamar a estos métodos (TableAdapter.Insert, TableAdapter.Update y TableAdapter.Delete) para manipular datos directamente en la base de datos.

Si no quiere crear estos métodos directos, establezca la propiedad GenerateDbDirectMethods de TableAdapter en false (en la ventana Propiedades). Si se agregan consultas a un objeto TableAdapter además de la consulta principal de TableAdapter, son consultas independientes que no generan estos métodos DbDirect.

Envío de comandos directamente a una base de datos

Llame al método DbDirect de TableAdapter que ejecuta la tarea que intenta realizar.

Inserción de nuevos registros directamente en una base de datos

  • Llame al método Insert de TableAdapter y pase los valores de cada columna como parámetros. En el procedimiento siguiente se usa la tabla Region de la base de datos Northwind como ejemplo.

    Nota

    Si no tiene una instancia disponible, cree una instancia del objeto TableAdapter que quiera usar.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Actualización de los registros directamente en una base de datos

  • Llame al método Update de TableAdapter y pase los valores nuevos y originales de cada columna como parámetros.

    Nota

    Si no tiene una instancia disponible, cree una instancia del objeto TableAdapter que quiera usar.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

Eliminación de registros directamente de una base de datos

  • Llame al método Delete de TableAdapter y pase los valores de cada columna como parámetros del método Delete. En el procedimiento siguiente se usa la tabla Region de la base de datos Northwind como ejemplo.

    Nota

    Si no tiene una instancia disponible, cree una instancia del objeto TableAdapter que quiera usar.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");