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

 




Google
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
Politica de Privacidad