Would you like to make this site your homepage? It's fast and easy...
Yes, Please make this my home page!
CREACION DE CONSULTAS EN EL TABLE ADAPTER
En este ejemplo veremos cómo crear una consulta en un TableAdapter usando instrucciones SQL que me permitan
cargar datos de una tabla. Podemos crear consultas que permitan mostrar los registros de una tabla y ordenarlos
ya sea en forma ascendente o descendente, contar los registros, etc. En el pequeño ejemplo que realizaré a
continuación utilizaré un método que será el de buscar o filtrar ciertos registros de acuerdo al criterio de
búsqueda utilizando obviamente una instrucción SQL que estableceré en la consulta. En éste ejemplo también se
verá como establecer un parámetro a la consulta el cual se utilizara para ingresar el criterio de búsqueda.
Tenemos nuestra base de datos creada en SQL Server y una Tabla llamada CLIENTE la cual está llena de registros.
Agregamos esta Tabla en un DataSet , La cual tiene el nombre de ClientesDS.
-
Una vez que agregamos la tabla CLIENTE al DataSet Este nos Generara un TableAdapter el cual ya aparece con una
consulta establecida con los métodos Fill y GetData, ahora para crear otra consulta que me permitirá establecer
un nuevo método, Click derecho en el TableAdapter y elige la opción Agregar Consulta.
-
Un vez que has seleccionado Agregar Consulta, aparecerá un asistente de consultas como el que ves a continuación
el cual pide el tipo de comando que se utilizará, selecciona Usar instrucción SQL y Siguiente.
-
Tras elegir el tipo de comando te mostrara la sgte ventana que pedirá el tipo de consulta SQL que se desea
utilizar, en este caso selecciona la primera opción ya que lo que se quiere es que devuelva filas.
-
Una vez seleccionado el tipo de Consulta SQL aparecerá la sgte ventana en el cual pedirá que datos cargará
la tabla ahora puedes agregarle la sgte instrucción WHERE Apellidos LIKE @Apellido + '%' a aquella que ya establece
el asistente, o le das click a Generador de Consultas.
-
En esta siguiente ventana mostrara como podemos establecer una consulta de manera mas sencilla eso no significa
que la instrucción SQL que utilicemos cambie, lo que se hará es lo sgte: en el columna filtro de en este caso del
campo Apellido escribimos la instrucción SQL LIKE @Apellido + '%'. Una vez establecida la instrucción SQL
comprobamos la consulta en el botón Ejecutar consulta, después de eso aparecerá una ventanita que pedirá un valor
inicial al parámetro @Apellido que hemos establecido, simplemente lo dejamos en NULL.
-
Ya establecida la consulta regresamos a la ventana anterior le damos a siguiente, luego de eso aparecerá otra
ventana que pedirá generar los métodos Fill y GetData, dejamos ambos métodos y le establecemos un nombre como
se muestra en la imagen, click en siguiente.
-
En esta ultima ventana del asistente mostrará en resumen lo que generará la consulta que se ha creado, también
mostrará los error que se hayan detectado durante la creación de la consulta. Click en finalizar
-
Aquí ya tenemos la consulta creada como se ve en la imagen, se aprecia la instrucción SQL que se le agregó a aquella
que está establecida en el asistente. En esta consulta se le agregó la clausula WHERE que me permite realizar una
condición, en este caso la condición es comparar con la instrucción LIKE los datos del campo Apellidos con el dato
que se ingresará al parámetro Apellido que se estableció con el @, el dato que se le ingresa al parámetro se une
con el carácter '%', al unir el dato del parámetro con ese carácter se asume que los caracteres que siguen después
del dato a comparar pueden ser cualquiera.
-
Tenemos el sgte diseño el cual se le ha agregado los sgtes controles:
-
Lablel le establecemos en la propiedad Text “Criterio de Búsqueda”
-
TextBox llamado txtBuscar
-
DataGridView llamado VerClientes
-
El codigo que se utlizara a continuacion simplemente lo que hara es enlazar el DataGridView con el TableAdapter
en este caso con el metodo GetData que se ya estaba creado en el TableAdapter simplemente para que muestre los
datos que tengo en la tabla CLIENTE. Este lo establecemos en el evento Load del formulario.
'Variable TablaClientes instanciada como TableAdapter de la Tabla CLIENTE
Dim TablaClientes As New ClientesDSTableAdapters.CLIENTETableAdapter
'en esta linea se enlaza al DataGridView con el metodo GetData del TableAdapter
'para que simplemente muestre los datos de la tabla
Me.VerClientes.DataSource = TablaClientes.GetData
'Esta linea establece un Ancho para la primera columna
Me.VerClientes.Columns(0).Width = 30
'Esta linea establece un nombre a la cabecera de la primera columna
Me.VerClientes.Columns(0).HeaderText = "ID"
'Esta linea establece un anchor a la segunda coloumna
Me.VerClientes.Columns(1).Width = 120
-
En el siguiente codigo al igual que el primero enlaza el DataGridView con el TableAdapter en este caso con el metodo
que hemos hecho al crear la nueva consulta. Ese codigo lo establecemos en el eveto TextChanged del control TextBox
con la finalida de que busque los registros mientras mientras se escribe lo que se esta buscando.
'la Variable Cliente instanciada como TableAdapter de la Tabla CLIENTE
Dim Clientes As New ClientesDSTableAdapters.CLIENTETableAdapter
'en esta linea se enlaza al DataGridView con el TableAdapter de la tabla
'CLIENTE aqui se utiliza el metodo GetDataByApellido que es el nombre que se
'le establecio al metodo GetData al crear la nueva consulta, lo que hace
'este metodo es delover una tabla que se ha llenado en este caso de acuerdo
'al valor que se le agrega al paremetro del metodo GetDataByApellido
Me.VerClientes.DataSource = Clientes.GetDataByApellido(Me.txtBuscar.Text)
-
Tal y como vemos en esta imagen que se muestran los registros en donde los apellidos comienzan con la letra “n” y si
seguimos escribiendo mostrará los registros que comienzan con esas letras, de esta forma se ha establecido una búsqueda
de manera sencilla.
Bueno eso fue una pequeña demostracion de como crear consultas y establecerle un parametro a esa consulta...
espero que te haya servido de algo, y como habras visto es muy sencillo hacer esto, intentalo... puedes adaptarlo
a tus necesidades.