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

 




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