Tutorial: Guardar datos con los métodos DBDirect de un TableAdapter
Publicado: abril de 2016
Este tutorial proporciona instrucciones detalladas para ejecutar instrucciones SQL directamente en una base de datos usando los métodos DBDirect de un TableAdapter. Los métodos DBDirect de un TableAdapter proporcionan un nivel exhaustivo de control sobre las actualizaciones de la base de datos. Con ello, puede ejecutar instrucciones SQL específicas y procedimientos almacenados llamando a los métodos Insert
, Update
y Delete
individuales según necesite su aplicación, en lugar del método Update
sobrecargado que realiza las instrucciones UPDATE, INSERT y DELETE en una llamada).
Durante este tutorial aprenderá a:
Crear una nueva aplicación para Windows.
Crear y configurar un conjunto de datos con el Asistente para la configuración de orígenes de datos.
Seleccionar el control que se va a crear en el formulario al arrastrar elementos desde la ventana Orígenes de datos. Para obtener más información, vea Establecer el control que se creará al arrastrar desde la ventana Orígenes de datos.
Crear un formulario enlazado a datos arrastrando elementos desde la ventana Orígenes de datos hasta el formulario.
Agregar métodos para acceder directamente a la base de datos y realizar inserciones, actualizaciones y eliminaciones directamente en la base de datos.
Requisitos previos
Para poder completar este tutorial, necesitará:
- Acceso a la base de datos de ejemplo Northwind. Para obtener más información, vea Cómo: Instalar bases de datos de ejemplo.
Crear una aplicación para Windows
El primer paso es crear una Aplicación para Windows.
Para crear el nuevo proyecto de Windows
En Visual Studio, en el menú Archivo cree un nuevo Proyecto.
Asigne al proyecto el nombre TableAdapterDbDirectMethodsWalkthrough.
Seleccione Aplicación para Windows y haga clic en Aceptar. Para obtener más información, vea Aplicaciones cliente.
Se crea el proyecto TableAdapterDbDirectMethodsWalkthrough y se agrega al Explorador de soluciones.
Crear un origen de datos de su 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 obtener información sobre la configuración de la base de datos de ejemplo Northwind, vea Cómo: Instalar bases de datos de ejemplo.
Para crear el origen de datos
En el menú Datos, haga clic en Mostrar orígenes de datos.
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.
Seleccione Base de datos en la página Elegir un tipo de datos de origen y luego haga clic en Siguiente.
En la página 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.
Si su base de datos requiere una contraseña, seleccione la opción para incluir datos confidenciales y haga clic en Siguiente.
Haga clic en Siguiente en la página Guardar la cadena de conexión en el archivo de configuración de la aplicación.
Expanda el nodo Tables en la página Elija los objetos de base de datos.
Seleccione la tabla
Region
y haga clic en Finalizar.NorthwindDataSet se agrega al proyecto y la tabla
Region
aparece en la ventana Orígenes de datos.
Agregar 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 Region principal desde la ventana Orígenes de datos hasta el formulario.
En el formulario aparecen un control DataGridView y una barra de herramientas (BindingNavigator) para navegar por los registros. En la bandeja de componentes aparecen NorthwindDataSet, RegionTableAdapter, BindingSource y BindingNavigator.
Para agregar botones que llamarán a los métodos DbDirect de TableAdapter
Arrastre tres controles Button desde el Cuadro de herramientas hasta Form1 (debajo de RegionDataGridView).
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
Haga doble clic en InsertButton para crear un controlador para el evento de clic y abrir el formulario en el editor de código.
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); }
Private Sub InsertButton_Click() Handles InsertButton.Click Dim newRegionID As Integer = 5 Dim newRegionDescription As String = "NorthEastern" Try RegionTableAdapter1.Insert(newRegionID, newRegionDescription) Catch ex As Exception MessageBox.Show("Insert Failed") End Try RefreshDataset() End Sub Private Sub RefreshDataset() Me.RegionTableAdapter1.Fill(Me.NorthwindDataSet1._Region) End Sub
Para agregar código para actualizar los registros de la base de datos
Haga doble clic en UpdateButton para crear un controlador para el evento de clic y abrir el formulario en el editor de código.
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(); }
Private Sub UpdateButton_Click() Handles UpdateButton.Click Dim newRegionID As Integer = 5 Try RegionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern") Catch ex As Exception MessageBox.Show("Update Failed") End Try RefreshDataset() End Sub
Para agregar código para eliminar registros de la base de datos
Haga doble clic en DeleteButton para crear un controlador para el evento de clic y abrir el formulario en el editor de código.
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(); }
Private Sub DeleteButton_Click() Handles DeleteButton.Click Try RegionTableAdapter1.Delete(5, "Updated Region Description") Catch ex As Exception MessageBox.Show("Delete Failed") End Try RefreshDataset() End Sub
Ejecutar la aplicación
Para ejecutar la aplicación
Presione F5 para ejecutar la aplicación.
Haga clic en el botón Insertar y compruebe que el nuevo registro se muestra en la cuadrícula.
Haga clic en el botón Actualizar y compruebe que el registro se actualiza en la cuadrícula.
Haga clic en 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 se incluyen:
Agregar funcionalidad de búsqueda al formulario. Para obtener más información, vea Cómo: Agregar una consulta parametrizada a una aplicación de Windows Forms.
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 obtener más información, vea Cómo: Mostrar datos relacionados en una aplicación de Windows Forms.
Vea también
Información general sobre TableAdapter
Cómo: Obtener acceso directamente a la base de datos con un TableAdapter
Cómo: Crear consultas de TableAdapter
Cómo: Guardar los datos de un objeto en una base de datos
Enlazar controles de Windows Forms a datos en Visual Studio
Conectarse a datos en Visual Studio
Preparar la aplicación para recibir datos
Buscar datos en la aplicación
Enlazar controles a los datos en Visual Studio
Modificar datos en la aplicación
Validar datos
Guardar datos