Comparteix a través de


Guardar datos con los métodos DBDirect de 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. Las tecnologías 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.

En este tutorial se proporcionan pasos detallados para ejecutar instrucciones SQL directamente en una base de datos con los métodos DBDirect de un elemento TableAdapter. Los métodos DBDirect de un TableAdapter proporcionan un nivel exhaustivo de control sobre las actualizaciones de la base de datos. Puedes usarlos para ejecutar instrucciones y procedimientos almacenados de SQL concretos mediante la llamada a los métodos Insert, Update y Delete individuales según necesite tu aplicación (por oposición al método Update sobrecargado que realiza las instrucciones UPDATE, INSERT y DELETE en una sola llamada).

En este tutorial aprenderá a:

Prerrequisitos

Los pasos de este tutorial funcionan con aplicaciones de Windows Forms para .NET Framework.

En este tutorial se usa LocalDB de SQL Server Express y la base de datos de ejemplo Northwind.

  1. Si no tiene LocalDB de SQL Server Express, instálelo desde la página de descarga de SQL Server Express, o bien mediante el Instalador de Visual Studio. En el Instalador de Visual Studio, puede instalar LocalDB de SQL Server Express como parte de la carga de trabajo Almacenamiento y procesamiento de datos, o bien como un componente individual.

  2. Siga estos pasos para instalar la base de datos de ejemplo Northwind:

    1. En Visual Studio, abra la ventana Explorador de objetos de SQL Server (Explorador de objetos de SQL Server se instala como parte de la carga de trabajo Almacenamiento y procesamiento de datos en el Instalador de Visual Studio). Expanda el nodo SQL Server. Haga clic con el botón derecho en la instancia de LocalDB y seleccione Nueva consulta.

      Se abre una ventana del editor de consultas.

    2. Copie el script de Transact-SQL Northwind en el Portapapeles. Este script de T-SQL crea la base de datos Northwind desde cero y la rellena con datos.

    3. Pegue el script de T-SQL en el editor de consultas y, después, elija el botón Ejecutar.

      Después de un breve tiempo, la consulta termina de ejecutarse y se crea la base de datos Northwind.

Crear una aplicación de Windows Forms

El primer paso es crear una aplicación de Windows Forms (.NET Framework). Cree un proyecto con el tipo de proyecto Aplicación de Windows Forms, mediante C# o Visual Basic.

Nota

El código de este tutorial está disponible en C# y Visual Basic. Para cambiar el lenguaje de código de esta página entre C# y Visual Basic, use el modificador de lenguaje de código de la parte superior de la página del lado derecho.

Creación de un origen de datos a partir de la base de datos

En este paso se usa el Asistente para configuración de orígenes de datos para crear un origen de datos basado en la tabla Region de la base de datos de ejemplo Northwind. Debe tener acceso a la base de datos de ejemplo Northwind para crear la conexión. Para información sobre cómo configurar la base de datos de ejemplo Northwind, consulte Instalación de las bases de datos de ejemplo.

Para crear el origen de datos

  1. En el menú Datos, seleccione Mostrar orígenes de datos.

    Se abre la ventana Orígenes de datos.

  2. En la ventana Orígenes de datos, seleccione Agregar nuevo origen de datos para iniciar el Asistente para configuración de orígenes de datos.

  3. En la pantalla Elegir un tipo de origen de datos, seleccione base de datos y, a continuación, Siguiente.

  4. En la pantalla Elegir la conexión de datos, realice una de las siguientes operaciones:

    • Si una conexión de datos a la base de datos de ejemplo Northwind está disponible en la lista desplegable, selecciónela.

      O bien

    • Seleccione Nueva conexión para iniciar el cuadro de diálogo Agregar o modificar conexión.

  5. Si su base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y seleccione Siguiente.

  6. En la pantalla Guardar la cadena de conexión en el archivo de configuración de la aplicación, seleccione Siguiente.

  7. Expanda el nodo Tablas en la pantalla Elija los objetos de base de datos.

  8. Seleccione la tabla Region y después Finalizar.

    NorthwindDataSet se agrega al proyecto y la tabla Region aparece en la ventana Orígenes de datos.

Adición de controles al formulario para mostrar los datos

Cree los controles enlazados a datos arrastrando elementos desde la ventana Orígenes de datos al formulario.

Para crear controles enlazados a datos en el formulario de Windows Forms, arrastre el nodo principal Región de la ventana Orígenes de datos al formulario.

En el formulario aparecen un control DataGridView y una barra de herramientas (BindingNavigator) para navegar por los registros. Un NorthwindDataSet, RegionTableAdapter, BindingSource y BindingNavigator aparecen en la bandeja de componentes.

Para agregar botones que llamarán a los métodos DbDirect de TableAdapter

  1. Arrastre tres controles Button desde el Cuadro de herramientas hasta Form1 (debajo de RegionDataGridView).

  2. Establezca las propiedades Nombre y Texto en cada botón.

    Nombre Texto
    InsertButton Insertar
    UpdateButton Actualizar
    DeleteButton Eliminar

Para agregar código para insertar nuevos registros en la base de datos

  1. Seleccione InsertButton para crear un controlador de eventos para el evento de clic y abrir el formulario en el editor de código.

  2. Reemplace el controlador de evento InsertButton_Click con el código siguiente:

    private void InsertButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        String newRegionDescription = "NorthEastern";
    
        try
        {
            regionTableAdapter1.Insert(newRegionID, newRegionDescription);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Insert Failed");
        }
        RefreshDataset();
    }
    
    
    private void RefreshDataset()
    {
        this.regionTableAdapter1.Fill(this.northwindDataSet1.Region);
    }
    

    Nota

    Según la versión de Visual Studio y las plantillas de proyecto que haya usado, los nombres de variable como regionTableAdapter o regionTableAdapter1 usados en este código podrían tener o no un 1 final en el código generado. Realice cualquier corrección en el código para asegurarse de que se usa el nombre correcto en todas partes. Visual Studio muestra un subrayado ondulado rojo donde el nombre es incorrecto.

Para agregar código para actualizar los registros de la base de datos

  1. Haga doble clic en UpdateButton para crear un controlador para el evento de clic y abrir el formulario en el editor de código.

  2. Reemplace el controlador de evento UpdateButton_Click con el código siguiente:

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

Para agregar código para eliminar registros de la base de datos, siga estos pasos:

  1. Seleccione DeleteButton para crear un controlador de eventos para el evento de clic y abrir el formulario en el editor de código.

  2. Reemplace el controlador de evento DeleteButton_Click con el código siguiente:

    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

Ejecución de la aplicación

  • Seleccione F5 para ejecutar la aplicación.

  • Seleccione el botón Insertar y compruebe que el nuevo registro se muestra en la cuadrícula.

  • Seleccione el botón Actualizar y compruebe que el registro se actualiza en la cuadrícula.

  • Seleccione el botón Eliminar y compruebe que el registro se quita de la cuadrícula.

Pasos siguientes

Dependiendo de los requisitos de la aplicación, hay varios pasos que pueden realizarse después de crear un formulario enlazado a datos. Entre las mejoras que podría realizar en este tutorial se incluyen las siguientes:

  • Agregar funcionalidad de búsqueda al formulario.

  • Agregar otras tablas al conjunto de datos seleccionando Configurar DataSet con el asistente en la ventana Orígenes de datos. Puede agregar controles que muestren los datos relacionados arrastrando los nodos relacionados al formulario. Para más información, consulte Relaciones en conjuntos de datos.