Tutorial: Guardar datos con los métodos DBDirect de un TableAdapter
Este tutorial proporciona instrucciones detalladas para ejecutar instrucciones SQL directamente en una base de datos utilizando los métodos DBDirect de un TableAdapter.Los métodos DBDirect de un TableAdapter proporcionan un nivel fino de control sobre las actualizaciones de la base de datos.Con ellos puede ejecutar instrucciones SQL y procedimientos almacenados específicos llamando a los métodos Insert, Update y Delete individuales según lo necesite la aplicación (como oposición al método Update sobrecargado que realiza todas las instrucciones UPDATE, INSERT y DELETE en una sola 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 de la ventana Orígenes de datos.Para obtener más información, vea Cómo: Establecer el control que se creará al arrastrar desde la ventana de orígenes de datos.
Crear un formulario enlazado a datos arrastrando elementos desde la ventana Orígenes de datos al formulario.
Agregar métodos para tener acceso 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.
Dé al proyecto el nombre TableAdapterDbDirectMethodsWalkthrough.
Seleccione Aplicación para Windows y haga clic en Aceptar.Para obtener más información, consulte Desarrollar aplicaciones cliente.
El proyecto TableAdapterDbDirectMethodsWalkthrough se crea y se agrega al Explorador de soluciones.
Crear un origen de datos de su base de datos
En este paso se utiliza el Asistente para la configuración de orígenes de datos con el fin de 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 la 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.Para obtener más información, vea Agregar/Modificar conexión (Cuadro de diálogo, General).
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 Tablas en la página Elegir 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 en el Windows Form
Arrastre el nodo Region principal desde 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.En la bandeja de componentes aparecen NorthwindDataSet, RegionTableAdapter, BindingSource y BindingNavigator.
Para agregar botones que llamarán a los métodos DbDirect del TableAdapter individual
Arrastre tres controles Button del Cuadro de herramientas a Form1 (debajo de RegionDataGridView).
Establezca las siguientes propiedades Name y Text en cada botón.
Name
Text
InsertButton
Insert
UpdateButton
Actualizar
DeleteButton
Eliminar
Para agregar código que inserte nuevos registros en la base de datos
Haga doble clic en InsertButton para crear un controlador de eventos para el evento de clic y abra su formulario en el editor de código.
Reemplace el controlador de evento InsertButton_Click con el código siguiente:
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
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); }
Para agregar código que actualice registros en la base de datos
Haga doble clic en UpdateButton para crear un controlador de eventos para el evento de clic y abra su formulario en el editor de código.
Reemplace el controlador de evento UpdateButton_Click con el código siguiente:
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
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 que elimine registros de la base de datos
Haga doble clic en DeleteButton para crear un controlador de eventos para el evento de clic y abra su formulario en el editor de código.
Reemplace el controlador de evento DeleteButton_Click con el código siguiente:
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
private void DeleteButton_Click(object sender, EventArgs e) { try { regionTableAdapter1.Delete(5, "Updated Region Description"); } catch (Exception ex) { MessageBox.Show("Delete Failed"); } RefreshDataset(); }
Ejecutar la aplicación
Para ejecutar la aplicación
Presione F5 para ejecutar la aplicación.
Haga clic en el botón Insert y compruebe que el nuevo registro aparece en la cuadrícula.
Haga clic en el botón Update y compruebe que el registro se actualiza en la cuadrícula.
Haga clic en el botón Delete 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 se pueden realizar después de crear un formulario enlazado a datos.Entre las mejoras que se podrían realizar en este tutorial se incluyen:
Agregar funcionalidad de búsqueda al formulario.Para obtener más información, consulte Cómo: Agregar una consulta parametrizada a una aplicación de Windows Forms.
Agregar tablas adicionales al conjunto de datos seleccionando Configurar DataSet con el asistente desde la ventana Orígenes de datos.Puede agregar controles que muestren 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
Tareas
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
Conceptos
Información general sobre TableAdapter
Enlazar controles de Windows Forms a datos en Visual Studio
Preparar la aplicación para recibir datos
Enlazar controles a los datos en Visual Studio
Modificar datos en la aplicación