UNIDAD 7: INTRODUCION A LAS BASES DE DATOS

TEMA PERL 13: EDICION DE REGISTROS

Editar registros significa cambiar el contenido de algunos de los campos o columnas por nueva informacion o para corregir algun error de captura original o para agregar alguna columna que no existia por modificacion de la tabla o la base de datos.

En general se tiene otro problema de sql UPDATE, sin embargo ahora se tendran que construir un programa con dos eventos, estos son:

1.- evento1 (BUSCAR): una forma normal de busqueda por clave con el mismo programa de busqueda por clave, pero ahora debera construir una forma.html dinamica, que contendra un segundo evento2 (EDITAR) apuntando o ejecutando su propio codigo.

2.- evento2 (EDITAR) : recoje los datos ya modificados de la forma.html dinamica y realiza directamente un sql update en la base de datos

prog46.pl

#! /usr/bin/perl -w
# usando modulo o libreria CGI
use CGI;
use DBI;
# creando el OBJETO de tipo CGI
$q = new CGI;
# mandando servidor los encabezados de la pagina html
print $q->header;
print $q->start_html();
print $q->hr();
# creando una form o ventana
print $q->startform();
print "CLAVE A EDITAR: ";
print $q->textfield('CLAVE','', 5);
print $q->br();
# creando un submit button
print $q->submit('BUSCAR');
# cerrando la forma
print $q->endform();
print $q->hr();
# cerrando html
print $q->end_html;
if ( $q->param('BUSCAR')) {
# creando coneccion
my $dbh = DBI->connect('DBI:mysql:mibase:localhost','USUARIO','PASWWORD')|| die "ERROR CONECCION : $DBI::errstr";
print $q->startform();
print $q->hr();
$clave = $q->param('CLAVE');
# preparando el query sql
# sth=>statement handle convencion mysql tambien
$sth = $dbh->prepare("SELECT * FROM mitabla WHERE clave =? ");
$sth->execute($clave);
# cargando el registro en memoria con el renglon de la tabla
my ($clave, $nombre, $edad, $estatura) = $sth->fetchrow_array();
# creando pagina y evento dinamico
print "CLAVE : ";
print $q->textfield('CLAVE',$clave, 5);print $q->br();
print "NOMBRE A EDITAR: ";
print $q->textfield('NOMBRE',$nombre, 30);print $q->br();
print "EDAD A EDITAR: ";
print $q->textfield('EDAD',$edad, 5);print $q->br();
print "ESTATURA A EDITAR: ";
print $q->textfield('ESTATURA',$estatura, 8);print $q->br();
print $q->submit('EDITAR');
# cerrando
$sth->finish;
$dbh->disconnect();
print $q->hr();
print $q->endform();
};
if ( $q->param('EDITAR')) {
# creando coneccion
my $dbh = DBI->connect('DBI:mysql:mibase:localhost','USUARIO','PASSWORD')|| die "ERROR CONECCION : $DBI::errstr";
# capturando y grabando
$clave = $q->param('CLAVE');
$nombre = $q->param('NOMBRE');
$edad = $q->param('EDAD');
$estatura = $q->param('ESTATURA');
$sth = $dbh->prepare(" UPDATE mitabla SET nombre=?, edad=?, estatura = ? WHERE clave = ? ");
$sth->execute( $nombre, $edad, $estatura, $clave );
# cerrando
$sth->finish;
$dbh->disconnect();
print "REGISTRO EDITADO";
};

corrida:

image288.jpg

TAREAS PROGRAMACION PERL MYSQL

1.- construir programas de edicion para sus tablas y bases de datos

Politica de Privacidad