UNIDAD 5: VISUAL BASIC INTRODUCION A LAS BASES DE DATOS

TEMA 10: FILTROS SELECT VISUAL BASIC CGI

Otro problema similar al anterior es el de filtros es decir en muchas ocasiones es necesario obtener informacion acerca de un subconjunto de renglones de la tabla.

Por ejemplo todos los estudiantes que sean mayores de 17 anos, todos los clientes que sean de Tijuana, etc., a esto le llamamos filtros o condiciones.

Tambien se resuelve de manera similar al anterior, es decir usando la instruccion select etc, from tabla, where CONDICION

RECORDAR QUE TODO EL TRABAJO CON BASES DE DATOS ES SQL, SQL Y SQL, VBASIC SOLO APORTA CONECCIONES, CANALES, ORDENES, ETC.

Codigo prog21.html

<HTML>
<FORM ACTION=/cgi-bin/tusitio/prog21.exe METHOD=get>
EDAD > =<INPUT TYPE=text NAME=EDAD><BR>
<INPUT TYPE=submit VALUE=BUSCAR>
</FORM></HTML>

corrida prog21.html

image388.jpg

prog21.vb

Imports System
Imports System.Data
Imports System.Data.OleDb
Imports Microsoft.VisualBasic
PUBLIC CLASS prog21
' creando y cargando coneccion, adpater, dataset como variables globales
SHARED DIM coneccion AS OLEDBCONNECTION
SHARED DIM canal AS OLEDBDATAADAPTER
SHARED DIM tabla AS DATASET
PUBLIC SHARED SUB MAIN()
' variables a usar
dim q, edad as string
' enlazando coneccion a la base de datos
coneccion = NEW OLEDBCONNECTION("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\progfacil\tusitio\mibase.mdb")
'capturando edad a buscar
DIM capturar AS lnet = new lnet()
'edad se captura como string porque se usa mas adelante un oledbtype
'para convertirla y mandarla
edad = capturar.getparametro("EDAD")
'creando string q con instruccion sql apropiada
'observar que tamben puede llevar variables parametros
'y lo nuevo es la condicion y ordenados descendentemente IVAN
q = "select * from mitabla nombre where edad >= @EDAD order by nombre desc"
canal = new OleDbDataAdapter(q, coneccion)
' cargando variable parametro con su valor y su tipo de dato
canal.SelectCommand.Parameters.Add(new OleDbParameter("@EDAD", OleDbType.Integer))
canal.SelectCommand.Parameters("@EDAD").Value = edad
' NO SE USO OBJETO COMMAND PARA DEMOSTRAR QUE OLEDBADAPTER TAMBIEN
' PUEDE USAR SELECT, INSERT, UPDATE, DELETE(ver tema asp.net)
'cargando el dataset y ahora son varios renglones de resultado
'este problema es buscar un renglon de informacion
tabla = NEW DATASET()
canal.FILL(tabla, "mitabla")
'empezando pagina de salida
System.Console.WriteLine("Content-Type:text/html" & vbCrLf)
System.Console.WriteLine("<HTML><TABLE Border=10 CellPadding=5><TR>")
' construyendo los encabezados de la tabla
System.Console.WriteLine("<th bgcolor=Green>CLAVE</th><th bgcolor=White>NOMBRE</th><th bgcolor=Red>EDAD</th></TR>")
' usar ciclos for reng y col
' mas variables para despliegue
dim cren, ren, col as integer
dim temp as string
cren = tabla.Tables("mitabla").Rows.Count
' ciclo for renglon para visitar todos los renglones de la tabla dataset
' ciclo interno for columna para pasar el dato del dataset al table html
for ren = 0 to cren-1
System.Console.WriteLine("<TR>")
for col = 0 to 2
'cargando el dato a una variable string para que no quede muy grande el writeline de despliegue
temp = tabla.Tables("mitabla").Rows(ren)(col).ToString()
System.Console.WriteLine("<TD>"&temp.ToString() &"</TD>")
next col
System.Console.WriteLine("</TR>")
next ren
System.Console.WriteLine("</HTM>")
' cerrando todo
coneccion.Close()
END SUB
END CLASS

Nota: siguen siendo combinaciones de los programas anteriores pero seria prudente mejor usar dos combobox uno para la variable, otro para el operador relacional y un text para el dato y mandar estos tres datos al prog21.exex(se ocupan varios command.parameters()), pero eso queda de tarea.

Corrida prog21.vb o exe

image389.jpg

TAREAS PROGRAMACION VISUAL BASIC CGI

1.- preparar programas de filtrado para sus bases de datos, recordar que sus formas html's deben construirlas con 2 combos y un text, suerte

Politica de Privacidad