Como actualizar un registro ya existente
Para mostrar como se actualiza un registro presente en nuestra base de datos, vamos a hacerlo a partir de un caso un poco mas complejo para que empecemos a familiarizarnos con estas operaciones. Realizaremos un par de scripts que permitan cambiar el numero de telefono de las distintas personas presentes en nuestra base. El nombre de estas personas, asi como el nuevo numero de telefono, seran 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 menu desplegable donde aparezcan todos los nombres. La cosa quedaria asi:
<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>
Telefono<br>
<INPUT TYPE="TEXT" NAME="telefono"><br>
<INPUT TYPE="SUBMIT" value="Actualizar">
</FORM>
</div>
</BODY>
</HTML>
La manera de operar para construir el menu 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 actualizacion sera muy parecido al de insercion:
<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 como queda la sentencia una vez construida.
http://www.lawebera.es/manuales/asp/17.php