Tutoriales Varios

17. Actualización de un registro existente

17. Actualización de un registro existente

Para mostrar cómo se actualiza un registro presente en nuestra base de datos, vamos a hacerlo a partir de un caso un poco más complejo para que empecemos a familiarizarnos con estas operaciones. Realizaremos un par de scripts que permitan cambiar el numero de teléfono de las distintas personas presentes en nuestra base. El nombre de estas personas, así como el nuevo numero de teléfono, serán recogidos por medio de un formulario.

El archivo del formulario va a ser esta vez un script ASP en el que efectuaremos una llamada a nuestra base de datos para construir un menú desplegable donde aparezcan todos los nombres. La cosa quedaría así: 

<HTML>

<HEAD>

<TITLE>Actualizar1.asp</TITLE>

</HEAD>

<BODY>

<div align="center">

<h1>Actualizar un registro</h1>

<br>

<%

‘Instanciamos y abrimos nuestro objeto conexion

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Mibase"

%>

<FORM METHOD="POST" ACTION="actualizar2.asp">

Nombre<br>

<%

‘Creamos la sentencia SQL y la ejecutamos

sSQL="Select nombre From clientes Order By nombre"

set RS = Conn.Execute(sSQL)

%>

<select name="nombre">

<%

‘Generamos el menu desplegable

Do While not RS.eof%>

   <option><%=RS("nombre")%>

   <%RS.movenext

Loop

%>

</select>

<br>

Teléfono<br>

<INPUT TYPE="TEXT" NAME="telefono"><br>

<INPUT TYPE="SUBMIT" value="Actualizar">

</FORM>

</div>

</BODY>

</HTML>

La manera de operar para construir el menú desplegable es la misma que para visualizar la tabla. De nuevo empleamos un bucle Do While que nos permite mostrar cada una de las opciones.

El script de actualización será muy parecido al de inserción:


<TITLE>Actualizar2.asp</TITLE>

</HEAD>

<BODY>

<%

‘Recogemos los valores del formulario

nombre=Request.Form("nombre")

telefono= Request.Form("telefono")

‘Instanciamos y abrimos nuestro objeto conexion

Set Conn = Server.CreateObject("ADODB.Connection")

Conn.Open "Mibase"

‘Ahora creamos la sentencia SQL

sSQL="Update Clientes Set telefono=’" & telefono & "’ Where nombre=’" &
nombre & "’"

‘Ejecutamos la orden

set RS = Conn.Execute(sSQL)

%>

<h1><div align="center">Registro Actualizado</div></h1>

<div align="center"><a href="lectura.asp">Visualizar el contenido de la
base</a></div>

<%

‘Cerramos el sistema de conexion

Conn.Close

%>

</BODY>

</HTML>

 

Nada que comentar al respecto salvo la estructura de la sentencia SQL que en este caso realiza un Update en lugar de un Insert. Aconsejamos, como para el caso precedente imprimir el valor de sSQL de manera a ver cómo queda la sentencia una vez construida.

Indaya.com – http://www.gnu.org/copyleft/fdl.es.html