PERLSCRIPT UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA 10: FILTROS

Otro problema similar al anterior es el de filtros, es decir en muchas ocasiones es necesario obtener informacion acerca de un conjunto 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 propiedad FILTER de recordset, sin embargo es de tomar nota que cuando se pone esta intruccion tabla→filter=condicion a partir de ese momento el recordset solo muestra los registros o renglones que cumplen la condicion.

Codigo prog18.html

<HTML> <P> FORMA HTML PROG 18</P>
<FORM ACTION=HTTP://PROGRAMACIONFACIL.COM:4080/tusitio/PROG18.ASP METHOD=POST>
EDAD >= QUE <INPUT TYPE=TEXT NAME=edad><BR>
<INPUT TYPE=SUBMIT VALUE=filtrar>
</FORM> </HTML>

Nota: 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 prog18.asp pero eso queda de tarea.

Corrida prog18.html

image170.jpg

codigo prog18.asp

<% @LANGUAGE = PerlScript %>
<%
# creando objetos conecciones y recordset de ado
$coneccion = $Server->CreateObject('ADODB.Connection');
$driver='Driver={Microsoft Access Driver (*.mdb)}; DBQ=c:\progfacil\lauro\mibase.mdb';
$coneccion->Open($driver);
$Rs=$Server->CreateObject('ADODB.RecordSet');
# en open tambien es valido usar un select de sql
$Rs->Open('mitabla', $coneccion, 1, 1);
# y los numeros son modos de usar open ver ado open
# cargar edad a filtrar
$edad = $Request->Form('edad')->item;
# usando propiedad filter, para buscar
$Rs->{'Filter'} = "edad >= $edad ";
if($Rs->EOF) { $Response->Write(" no hay registros "); return; };
# tambien se puede con un select de sql
# $Rs = $coneccion->execute("SELECT * FROM mitabla WHERE edad >= $edad");
# desplegar encabezados de columnas
$Response->Write ($Rs->Fields(0)->{Name} ." ");
$Response->Write ($Rs->Fields(1)->{Name} ." ");
$Response->Write ($Rs->Fields(2)->{Name} ." <br />");
# aqui si pueden existir varios renglones resultado
while(!$Rs->EOF) {
$Response->Write ($Rs->Fields(0)->{value} ." ");
$Response->Write ($Rs->Fields(1)->{value} ." ");
$Response->Write ($Rs->Fields(2)->{value} ." <br />");
$Rs->moveNext();
};
# cerrar y liberar recordset y coneccion
$Rs->Close;
$coneccion->Close;
undef $Rs;
undef $conneccion;
%>

corrida prog18.asp

image171.jpg

sencillo verdad.

TAREAS PROGRAMACION PERLSCRIPT :

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

Politica de Privacidad