PERLSCRIPT UNIDAD 5: INTRODUCION A LAS BASES DE DATOS

TEMA 9: BUSQUEDA

Recordar que existen una serie de procesos basicos con archivos, el famoso ABC(altas, bajas, consultas y modificaciones) con ellos.

Actualmente estos procesos o similares a ellos se llaman insertar, eliminar, editar, etc, en las modernas bases de datos.

En este tema se analiza la busqueda de un registro o renglon determinado, en este proceso el usuario del programa quiere que se despliegue un y solo un registro de informacion, proporcionando un dato de busqueda, generalmente la clave del registro.

La solucion es sencilla:

Codigo html

<HTML> <P> FORMA HTML PROG 17</P>
<FORM ACTION=HTTP://PROGRAMACIONFACIL.COM:4080/tusitio/PROG17.ASP METHOD=POST>
CLAVE<INPUT TYPE=TEXT NAME=clave><BR>
<INPUT TYPE=SUBMIT VALUE=buscar>
</FORM> </HTML>

nota: no hay nada nuevo, solo un input text para pedir la clave, aunque se puede usar cualquier campo para buscar

corrida prog17.html

image168.jpg

codigo prog17.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 clave a buscar
$clave=$Request->Form('clave')->item;
# usando propiedad filter, para buscar
$Rs->{'Filter'} = "clave = $clave ";
if($Rs->EOF) { $Response->Write(" clave inexistente"); return; };
# tambien se puede con un select de sql
# $Rs = $coneccion->execute("SELECT * FROM mitabla WHERE clave = $clave");
# desplegar encabezados de columnas
$Response->Write ($Rs->Fields(0)->{Name} ." ");
$Response->Write ($Rs->Fields(1)->{Name} ." ");
$Response->Write ($Rs->Fields(2)->{Name} ." <br />");
# es un solo renglon pero se esta reutilizando codigo viejo
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;
%>

notas:

1.- La primera parte es la comun en todos los programas, abrir enlaces, bases de datos y cargar el recordset.

2.- Despues cargar una variable clave con un request→form, esta variable queda cargada con el valor numerico de la clave

3.- Se usa la propiedad FILTER de recordset para crear una tabla que contiene el renglon apropiado

4.- Como se indica en el ejemplo, tambien se puede usar una clausula select de sql.

5.- Recordset de ADO tiene otros dos metodos llamados FIND y SEEK que se pueden usar para resolver este problema, y a quien lo resuelva con cualquiera de estos dos tienen bastantes puntos extras.

6.- Al final no olvidar cerrar y liberar todo.

Corrida prog17.asp

image169.jpg

TAREAS PROGRAMACION PERLSCRIPT :

1.- hacer programas de busquedas para las bases hechas

Politica de Privacidad