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

problemas al editar un campo previamente seleccionado con un radio

Estas en el tema de problemas al editar un campo previamente seleccionado con un radio en el foro de ASP Clásico en Foros del Web. Hola amigos... les cuento tengo un codigo en el cual hago una lista de una tabla con un boton radio de un formulario para seleccionar ...
  #1 (permalink)  
Antiguo 05/05/2005, 19:52
Avatar de El_Metallick  
Fecha de Ingreso: noviembre-2002
Ubicación: Santiago, Chile
Mensajes: 1.718
Antigüedad: 21 años, 7 meses
Puntos: 16
problemas al editar un campo previamente seleccionado con un radio

Hola amigos... les cuento tengo un codigo en el cual hago una lista de una tabla con un boton radio de un formulario para seleccionar alguno y editarlo... tengo estos códigos

form_editar.asp
Código:
<% @Language="VBscript" %>
<html>
<head>
<title>Modificar registros de la base de datos</title>
</head>
<body>
<%
'Declaración de variables
Dim conn
Dim rs
Dim sql
'Fijación del valor de Path (lugar donde esta la base de datos)
Const Path = "usuarios.mdb"
'Establecemos la conección a la base de datos
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & ""))
'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar)
sql="Select * From clientes"
'Ejecución de la orden
Set rs = Conn.Execute(sql)
%>
<form method="post" action="editar.asp?id=<% = rs("id") %>" target="_blank">
<table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="20%">ID</td>
<td width="20%">NOMBRE</td>
<td width="20%">APELLIDO</td>
<td width="20%">TELEFONO</td>
<td width="20%">CIUDAD</td>
</tr>
<% Do While Not rs.Eof %>
<tr>
<td width="20%"><input type="radio" name="id" value="<% = rs("id") %>"></td>
<td width="20%"><% = rs("nombre") %></td>
<td width="20%"><% = rs("apellido") %></td>
<td width="20%"><% = rs("telefono") %></td>
<td width="20%"><% = rs("ciudad") %></td>
</tr>
<% 
rs.MoveNext 
Loop
%>
</table>
<input type=submit>
</form>
</body>
</html>
editar.asp
Código:
<title>Modificar registros de la base de datos</title>
</head>
<body>
<%
'Declaración de variables
Dim conn
Dim rs
Dim sql
'Fijación del valor de Path (lugar donde esta la base de datos)
Const Path = "usuarios.mdb"
'Recuperando el valor de id pasado por la URL
id = Request.Querystring("id")
'Establecemos la conección a la base de datos
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & ""))
'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar)
sql="Select * From clientes Where id = " & id &""
'Ejecución de la orden
Set rs = Conn.Execute(sql)
'Asignando valores de campos
nombre = rs("nombre")
apellido = rs("apellido")
telefono = rs("telefono")
ciudad = rs("ciudad")
%>
<form method="post" action="editar1.asp?id=<% = id %>">
<table border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="8%">id:</td>
<td width="92%"><% = id %></td>
</tr>
<tr>
<td width="8%">Nombre:</td>
<td width="92%"><input type="text" name="nombre" size="20" value="<% = nombre %>"></td>
</tr>
<tr>
<td width="8%">Apellido:</td>
<td width="92%"><input type="text" name="apellido" size="20" value="<% = apellido %>"></td>
</tr>
<tr>
<td width="8%">Telefono:</td>
<td width="92%"><input type="text" name="telefono" size="20" value="<% = telefono %>"></td>
</tr>
<tr>
<td width="8%">Ciudad:</td>
<td width="92%"><input type="text" name="ciudad" size="20" value="<% = ciudad %>"></td>
</tr>
</table>
<p align="center"><input type="submit" value="Enviar"><input type="reset" value="Restablecer"></p>
</form>
</body>
</html>
editar1.asp
Código:
<script>
window.opener.location.reload();
window.close();
</script>
<%
'Declaración de variables
Dim conn
Dim rs
Dim sql
'Fijación del valor de Path (lugar donde esta la base de datos)
Const Path = "usuarios.mdb"
'Recuperando el valor de id pasado por la URL
id = Request.Querystring("id")
'Recuperando valores del formulario
nombre = Request.Form("nombre")
apellido = Request.Form("apellido")
telefono = Request.Form("telefono")
ciudad = Request.Form("ciudad")
'Establecemos la conección a la base de datos
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("" & Path & ""))
'Creación de la sentencia SQL correspondiente (cambiar el valor de tabla por el nombre de la tabla que queremos seleccionar)
sql="Update clientes set nombre = '" & nombre & "', apellido = '" & apellido & "', telefono = " & telefono & ", ciudad = '" & ciudad & "' Where id = " & id & ""
'Ejecución de la orden
Set rs = Conn.Execute(sql)
%>
Bueno el problema es que cuando selecciono un elemento de la lista que no sea el primero en editar.asp me aparece siempre el formulario con los valores del primer registro y no se porque no me pillo mi error... si alguien me pudiera corregir... le agradeceria.... gracias de antemano y saludos
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  #2 (permalink)  
Antiguo 06/05/2005, 03:27
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
id = Request.Querystring("id") en editar.asp tiene que ser
request.form("id")
si mandas el formulario con method="post"
recoges con request.form
si lo mandas con method="get"
recoges con request.querystring
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 19:02.