Foros del Web » Programando para Internet » ASP Clásico »

Modificar información en una tabla de datos

Estas en el tema de Modificar información en una tabla de datos en el foro de ASP Clásico en Foros del Web. Tengo una base de datos en la cual me muestra todo el contenido de su información, quisiera que cuando hago un click en un registro, ...
  #1 (permalink)  
Antiguo 02/08/2003, 05:52
Avatar de Halcon_2003  
Fecha de Ingreso: mayo-2003
Ubicación: Galicia - Pcia. de Pontevedra
Mensajes: 45
Antigüedad: 21 años, 1 mes
Puntos: 0
Modificar información en una tabla de datos

Tengo una base de datos en la cual me muestra todo el contenido de su información, quisiera que cuando hago un click en un registro, me permitiera modificar la información y de esa forma poder actualizar la base en tiempo real.
A ver si alguien puede darme una ayuda , ahi va el codigo:
<html>
<boby>
<%
DBFile="RUTA DE ACCESO A LA BASE\socios.mdb"
set coneccion=Server.CreateObject("ADODB.Connection")
'coneccion.Provider="Microsoft.Jet.OLEDB.4.0"
coneccion.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBFile
set tabla=Server.CreateObject("ADODB.recordset")
sql ="Select * from usuarios order by usuario"
set tabla = coneccion.execute(sql)
%>
<meta name="Microsoft Theme" content="transgalicia 111">
<body><table style="border-collapse: collapse; border: 4px ridge #0000FF" cellpadding="0" cellspacing="0" width="1488">
<tr>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Usuarios</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Contraseña</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">E-Mail</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Comunidad</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Provincia</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Pais</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Alta</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Nivel</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Baja</font></b></td>
<td align="center" width="148"><b><font size="2" color="#FFFF00">Conectado</font></b></td>
</tr>
<%
if (not tabla.eof) then
do while (not tabla.eof)
%>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo1 value="<%=tabla("usuario")%>" size="22"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo2 value="<%=tabla("clave")%>" size="27"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo3 value="<%=tabla("email")%>" size="42"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo4 value="<%=tabla("comunidad")%>" size="17"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo5 value="<%=tabla("provincia")%>" size="20"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo6 value="<%=tabla("pais")%>" size="12"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><p align="center"><input type=text name=campo7 value="<%=tabla("datealta")%>" size="10"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<p align="center"><input type=text name=campo8 value="<%=tabla("nivel")%>" size="5"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<p align="center"><input type=text name=campo9 value="<%=tabla("baja")%>" size="4"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<p align="center"><input type=text name=campo10 value="<%=tabla("online")%>" size="7"></td>
</tr>
<%
tabla.movenext
loop
end if
%>
</table>
<p align="center"><a href="moderador.asp">Volver al menu</a></p>
</body>
</font></font></font></font></font></font></body>
</html>
__________________
Halcon
  #2 (permalink)  
Antiguo 02/08/2003, 12:26
 
Fecha de Ingreso: mayo-2002
Ubicación: La Rioja (España)
Mensajes: 18
Antigüedad: 22 años
Puntos: 0
Si no te he entendido mal, lo que tienes es un listado que te muestra el valor de los diferentes campos de cada registro dentro de cajas de texto modificables y quieres que se actualicen los datos del registro que se modifique en cada instante.

Yo lo que hago es crear un formulario por cada fila (solo tienes que colocar un "form" entre el <tr> y el </tr> que tienes dentro del do y antes del tabla.movenext y una nueva columna con el submit al lado de cada registro). El destino del form siempre es el mismo, asi que para saber cual has modificado solo necesitas pasar el ID del registro que has tocado como "hidden" y recogerlo en la pagina siguente para hacer el update. Despues de actualizar haces un response redirect a la pagina original y te apareceran los datos actualizados.
  #3 (permalink)  
Antiguo 02/08/2003, 12:33
Avatar de Halcon_2003  
Fecha de Ingreso: mayo-2003
Ubicación: Galicia - Pcia. de Pontevedra
Mensajes: 45
Antigüedad: 21 años, 1 mes
Puntos: 0
Juanco, puedes darme algun ejemplo de como hacerlo, no entiendo mucho de esto
Gracias
__________________
Halcon
  #4 (permalink)  
Antiguo 02/08/2003, 13:05
 
Fecha de Ingreso: mayo-2002
Ubicación: La Rioja (España)
Mensajes: 18
Antigüedad: 22 años
Puntos: 0
do while (not tabla.eof)
%>
<form method="POST" action="PaginaModificar.asp">
<tr>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo1 value="<%=tabla("usuario")%>" size="22"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo2 value="<%=tabla("clave")%>" size="27"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo3 value="<%=tabla("email")%>" size="42"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo4 value="<%=tabla("comunidad")%>" size="17"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo5 value="<%=tabla("provincia")%>" size="20"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><input type=text name=campo6 value="<%=tabla("pais")%>" size="12"></td>
<td style="border-top: 2px ridge #0000FF" width="148"><p align="center"><input type=text name=campo7 value="<%=tabla("datealta")%>" size="10"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<p align="center"><input type=text name=campo8 value="<%=tabla("nivel")%>" size="5"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<p align="center"><input type=text name=campo9 value="<%=tabla("baja")%>" size="4"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<p align="center"><input type=text name=campo10 value="<%=tabla("online")%>" size="7"></td>
<td style="border-top: 2px ridge #0000FF" width="148">
<input type="hidden" name="IdUsuario" value="<%=tabla("IdUsuario")%>">
<input type="submit" value="Enviar" name="B1">
</td>
</tr>

</form> <%
tabla.movenext
loop

Te he señalado en rojo los limites del formulario y la nueva columna que inserto (para que el boton quede alineado), acuerdate de insertarla tambien en la fila de los titulos (no la he pegado)

El "IdUsuario" que paso como hidden,es el campo clave en mi base de datos, si no tienes un campo clave utiliza cualquier parametro del registro que te permita identificarlo de forma unica, por ejemplo un DNI.

Luego en "PaginaModificar.asp" incluyes:

sql="UPDATE tabla SET campo1='"&Request.form("campo1")&"' ........etc WHERE IdUsuario='"&Request.form("IdUsuario")&"'"


Response.redirect PaginaOrigen.asp
  #5 (permalink)  
Antiguo 06/08/2003, 10:12
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
tendras unpequeño ejeplo completo sin tantos campos ya que no entiendo muy bien estepedazo de programa y yo necesito de igual forma modificar los datos de un a base de datos sencilla.
Gracias por tu ejemplo
  #6 (permalink)  
Antiguo 06/08/2003, 13:49
Avatar de Halcon_2003  
Fecha de Ingreso: mayo-2003
Ubicación: Galicia - Pcia. de Pontevedra
Mensajes: 45
Antigüedad: 21 años, 1 mes
Puntos: 0
Aun me esta dando errores, pero apenas funcione te aviso
Halcon
__________________
Halcon
  #7 (permalink)  
Antiguo 07/08/2003, 02:46
 
Fecha de Ingreso: mayo-2002
Ubicación: La Rioja (España)
Mensajes: 18
Antigüedad: 22 años
Puntos: 0
Halcon_2003, te he enviado un ejemplo a tu direccion de correo.

Vellun, si lo quieres (lo he hecho solo para dos campos) dime donde te lo puedo enviar
  #8 (permalink)  
Antiguo 11/08/2003, 11:13
 
Fecha de Ingreso: noviembre-2002
Mensajes: 37
Antigüedad: 21 años, 7 meses
Puntos: 0
TE ENVIO MI CORREO [email protected]

GRACIAS
  #9 (permalink)  
Antiguo 11/08/2003, 13:08
 
Fecha de Ingreso: mayo-2002
Ubicación: La Rioja (España)
Mensajes: 18
Antigüedad: 22 años
Puntos: 0
Te lo he enviado a esa direccion, no lo recibes o tienes algun problema me avisas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:20.