Asesoría y capacitación en informática

TableAdapter

Los tablet adapters proporcionan comunicación entre sus aplicación y base datos mediante la ejecución  de instrucciones SQL y procedimientos almacenados contra una base de datos. Ademas de la funcionalidad estándar de un DataAdapter, los TableAdapters proporcionan consultas adicionales que comparten un esquema común con el DataTablet con tipo asociado. El tableAdapter carga los datos devueltos en su tabla de datos asociada de la aplicación o devuelve nuevas tablas de datos ya rellenadas.

Crear un  DataAdapter. Se puede un DataAdapter a partir de tres puntos:

  • Ejecutar el Asistente para la configuración de TableAdapter desde el diseñodor de Dataset.
  • Ejecutar el Asistente para la configuración de orígenes de datos, seleccionando el tipo de origen  datos Base de datos o Servicio Web.
  • Arrastrarobjetos de base de datos desde el Explorador de servidores hasta el Dısertador de DataSet.

CrearTableAdapters con el Asistente para la configuracidn de TableAdapter

  • El Asistente para la configuración de TableAdapter crea un TableAdapter único basado en a información que se proporciona al asistente.
  • Abra un conjunto de datos en el Diseñador de Dataset.
  • Arrastre un TableAdapter desde la ficha DataSet del Cuadro de herramientas a la superficie de diseño.
  • Complete el asistente, se agregara una tabla de datos y un TableAdapter al conjunto de datos.

CrearTableAdapters con el Asistente para la configuraciön de origenes de datos

  •  El Asistente para la configuración de orígenes de datos creara un TableAdapter para cada objeto de base de datos seleccionado durante el funcionamiento del asistente. Una vez finalizado el Asistente para la configuración de orígenes de datos, puede ver los TableAdapters creados abriendo el conjunto de datos del Disenador de Dataset.
  •  Seleccione Agregar nuevo origen de datos en Orfgenes de datos (ventana). Elija la opciön Mostrar origenes de datos del menu Datos para abrir la ventana Origenes de datos.
  • Finalice el asistente, seleccionando el tipo de origen de datos de una Base de datos o Servicio Web.

Crear TableAdapters a partir de objetos de base de datos del Explorador de servidores

  • Se crea un solo TableAdapter por cada objeto de base de datos que arrastre hasta el Diseñador de DataSet
  • Abra un conjunto de datos en el Diseñador de Dataset.
  • Arrastre un objeto de base de datos desde una conexion de datos en el Explorador de servidores a ,la superficie del Diseñador de DataSet.
  • Se agregaran una tabla de datos y un TableAdapter al conjunto de datos.

Cuadro de texto: CASO DESARROLLADO N“ 7.1:
Implemente una aplicación que permita mostrar registros de la tabla Pasajero de la base de datos.

Agencia.Use TableAdapter

Solucion:

  1. 1.      Archivo > Nuevo Proyecto. Seleccione Aplicacion de Windows Forms desde la plantilla Visual Basic y asigne el nombre pjTableAdapter.
  • Agregue al proyecto un nuevo elemento de tipo conjunto de datos como lo muestra la Fig. 7.3, presione clic derecho

sobre pjTableAdapter > Agregar > Nuevo Elemento > Datos > Conjunto de Datos y asignele el nombre dsAgencia:

Le aparecera el entorno del diseñador de DataSet (conjunto de datos) como observara tambien aparecen las herramientas de DataSet como Io muestra la Fig. 7.4

Ahora arrastre la herramienta TableAdapter para iniciar el asistente que le guiara en el proceso de desarrollo de la aplicación. La Fig. 7. las cadenas previamente configuradas en el explorador de servidores; pero en nuestro caso agregaremos una nueva presionando Nueva conexión.

En la Fig. 7.6 debe coIocar el nombre del servidor en este caso coIocaremos un punto o tambier podria coIocar (local) eso dependera del nombre del servidor configurado en SQL Server. Luegc seleccione la autenticacion configurada en SQL Server, para nuestro caso seleccionaremos Usar Autenticacion de Windows y si todo es correcto hasta aqui usted podra seleccionar la base de dates AGENCIA.

Luego se tendra que seleccionar un tipo de comando, es decir, podemos usar instrucciones SQL o seleccionar un procedimiento almacenado ejecutado desde el motor de base de datos SQL server, para este caso seleccionaremos. Usar SQL que permita ingresar una consulta al TableAdapter

En la Fig. 7.8 el asistente le muestra una ventana editora, en la cual usted debera ingresar la consuta que sera parte de la solucion al del listado de los pasajeros

Seguidamente le debe asignar nombre a dos metodos creados por el asistente, el metodo Fill permitira rellenar los registros a un DataTable y el metodo GetData devolvera los registros  para poder ser mostrados en un objeto del Windows Forms que podria ser un DataGridView. Inicialmente los nombres son asignados por el asistente pero si se crean  ambiguedades con estos metodos agreguele un valor para diferenciarlos como por ejemplo FillPasajeros o GetDataPasajeros

Si todo es correcto el asistente le debe mostrar un informe con los resultados de la configuracion realizada en la implementacion del TableAdapter como Io muestra la Fig. 7.10.

El resulatdo final del asistente se muestra como una tabla dentro del entorno del Dataset como lo muestra la Fig. 7.11 ahora nos queda realizar la asociacion entre este objeto y el windows forms

3. Agregue los elemetos necesarios al Windows Form y asignele el nombre frmListadoPasajeros con las siguientes propiedades:

y coloque el siguiente codigo dentro del windows forms:

Public Class frmListadoPasajeros

Private Sub frmListadoPasajeros_load(…) handles myBase.Load
Dim ds As New dsAgencia
Dim da As New dsAgenciaTableAdapters.DataTable1TableAdapter
da.Fill(ds.DataTable1)
dgPasajeros.Datasource = ds.DataTable1

1b1Total.Text = ds.DataTable1.Rows.Count
End Sub
End Class

Explicacion:

se declara el objeto ds de la clase dsAgencia esta clase es la que contiene las tablas generadas por el asistente. Nosotros la llamamos entorno del DataSet.

Dim ds As New dsAgencia

Luego se crea el objeto da de la clase dsAgenciaTableAdapter el cual por medio del DataTable1 se tendra a los registros de la consulta normalmente aqui deberia aparecer el nombre de la tabla origen como pasajero pero en el editor de consultas del asistente se implemento un codigo que usaba dos tablas; por lo tanto, el asistente asigno DataTable1TableAdapter a la consulta porque de otra manera deberia haberse mostrado como PasajerosTableAdapter.

Dim da As New dsAgenciaTableAdapters.DataTable1TableAdapter

como si fuera un SQLDataAdapter se tiene que llenar el ds declarado anteriormente.

da.Fill(ds.DataTable1)

y finalmente se envia al DataGrindView dsPasajeros los registros obtenidos del da y rellenado en el ds.DataTable1

dgPasajeros.DataSource = ds.DataTable1