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

Recuperar datos en un formulario

Estas en el tema de Recuperar datos en un formulario en el foro de ASP Clásico en Foros del Web. Estoy haciendo un formulario para modificar datos personales, el mismo debe mostrar al usuario los datos exxistentes, pero me sale un error en la línea ...
  #1 (permalink)  
Antiguo 07/10/2007, 04:51
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 4 meses
Puntos: 0
Recuperar datos en un formulario

Estoy haciendo un formulario para modificar datos personales, el mismo debe mostrar al usuario los datos exxistentes, pero me sale un error en la línea 48:

ADODB.Recordset error '800a0cc1'
No se encontró el elemento en la colección que corresponde con el nombre o el ordinal pedido.
/modificardatos/form1de2.asp, línea 48

lo que contiene la línea 48 es esto:
cnombre=rs("nombre")

Pero para que me puedan comprender mejor de que va, les comento que antes de llegar a este formulario, la clave debe ser validada y una vez se comprueba que el usuario existe debe mostrar este formulario con todos sus datos. Ahora bien, a continuación muestro todo el código de la página donde me da el error para ver si alguien puede ayudarme, gracias de antemano.
<%
dim usuario
usuario=Request.querystring("usuario")

if session("nombre")="" then
response.redirect("index.asp")
end if
%>

<HTML>

<BODY>
<div align="center">
<h1>Modificar Usuario Administrativo</h1>
<br>
<%
Set con=Server.CreateObject("ADODB.Connection") 'creo objeto connection
con.open "miservidor.modificar"
Set rs=Server.CreateObject("ADODB.RecordSet")
%>
<FORM METHOD="POST" ACTION="modificar_datos.asp">
Usuario<br>
<%
'Creamos la sentencia SQL y la ejecutamos
Ssql="select usuario from modificar where usuario='"&usuario&"'"
set rs = con.Execute(SsQL)
%>
<select name="usuario">
<%
'Generamos el menu desplegable
Do While not rs.eof%>
<option><%=rs("usuario")%>
<%rs.movenext
Loop
%>
</select>
<%
SsQL="Select nombre, clave, correo, apellidos, direccion, ciudad, pais, cp, telefono, fax, fecha, usuario from modificar where usuario='"&usuario&"'"

dim cnombre, cclave, ccorreo, capellidos, cdireccion, cciudad, cpais, ccp, ctelefono, cfax, cfecha, cusuario

cnombre=rs("nombre") <=========== LINEA 48 =======
cclave=rs("clave")
ccorreo=rs("correo")
capellidos=rs("apellidos")
cdireccion=rs("direccion")
cciudad=rs("ciudad")
cpais=rs("pais")
ccp=rs("cp")
ctelefono=rs("telefono")
cfax=rs("fax")
cfecha=rs("fecha")
cusuario=rs("usuario")


set rs = con.Execute(SsQL)


%>
<br>
Nombre<br>
<INPUT NAME="nombre" TYPE="TEXT" id="nombre" value=<%=cnombre%> >
<br>
<br>Clave<br>
<INPUT NAME="clave" TYPE="TEXT" id="clave" value=<%=cclave%> >
<br>
<br>Correo<br>
<INPUT NAME="correo" TYPE="TEXT" id="correo" value=<%=ccorreo%> >
<br>
<br>Apellidos<br>
<INPUT NAME="apellidos" TYPE="TEXT" id="apellidos" value=<%=capellidos%> >
<br>
<br>Dirección<br>
<INPUT NAME="direccion" TYPE="TEXT" id="direccion" value=<%=cdireccion%> >
<br>
<br>Ciudad<br>
<INPUT NAME="ciudad" TYPE="TEXT" id="ciudad" value=<%=cciudad%> >
<br>
Pais<br>
<INPUT NAME="pais" TYPE="TEXT" id="pais" value=<%=cpais%> >
<br>
<br>Cóigo postal<br>
<INPUT NAME="cp" TYPE="TEXT" id="cp" value=<%=ccp%> >
<br>
<br>Telefono<br>
<INPUT NAME="telefono" TYPE="TEXT" id="telefono" value=<%=ctelefono%> >
<br>
<br>Fax<br>
<INPUT NAME="fax" TYPE="TEXT" id="fax" value=<%=cfax%> >
<br>
<br>Fecha<br>
<INPUT NAME="fecha" TYPE="TEXT" id="fecha" value=<%=cfecha%> >
<br>
<br>Usuario<br>
<INPUT TYPE="TEXT" NAME="unidad" value=<%=cusuario%> ><br>

<INPUT TYPE="SUBMIT" value="Modificar">
</FORM>
</div>
<%
rs.close
con.close
Set rs=nothing
Set con=nothing
%>
</BODY>
</HTML>
  #2 (permalink)  
Antiguo 08/10/2007, 04:03
TaM
 
Fecha de Ingreso: noviembre-2005
Mensajes: 58
Antigüedad: 19 años, 5 meses
Puntos: 0
Re: Recuperar datos en un formulario

Pues lo que yo veo es que no estás haciendo el execute en la segunda select (Select nombre, clave, correo, apellidos, direccion, ciudad, pais, cp, telefono, fax, fecha, usuario from modificar where usuario='"&usuario&"'") y el objeto rs te queda con la primera select (select usuario from modificar where usuario='"&usuario&"') la cual no contiene ningún campo llamado nombre...
  #3 (permalink)  
Antiguo 08/10/2007, 04:59
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Recuperar datos en un formulario

Hola, gracias por responder, lo cambié por esto:
Ssql="select * from modificar where usuario='"&usuario&"'"

ahora me está dando el error:
ADODB.Field error '800a0bcd'

El valor de BOF o EOF es True, o el actual registro se eliminó; la operación solicitada requiere un registro actual.

/modificardatos/form1de2.asp, línea 42

la línea 42, es:
cnombre=rs("nombre")

lo peor es que no tengo ni idea de que hacer, porque lo he cambiado todo...
  #4 (permalink)  
Antiguo 08/10/2007, 05:59
Avatar de gorka_22  
Fecha de Ingreso: septiembre-2003
Mensajes: 95
Antigüedad: 21 años, 7 meses
Puntos: 1
Re: Recuperar datos en un formulario

TaM tiene razon:

esto:
set rs = con.Execute(SsQL)

va antes de esto:
cnombre=rs("nombre") <=========== LINEA 48 =======
cclave=rs("clave")
ccorreo=rs("correo")
capellidos=rs("apellidos")
cdireccion=rs("direccion")
cciudad=rs("ciudad")
cpais=rs("pais")
ccp=rs("cp")
ctelefono=rs("telefono")
cfax=rs("fax")
cfecha=rs("fecha")
cusuario=rs("usuario")

Tu segundo post significa que no ha seleccionado, ningun rs, ya que no ha encontrado ninguno.
  #5 (permalink)  
Antiguo 08/10/2007, 08:54
Avatar de Cameron_2006  
Fecha de Ingreso: diciembre-2006
Mensajes: 248
Antigüedad: 18 años, 4 meses
Puntos: 0
Re: Recuperar datos en un formulario

Un millón de gracias a ambos por la ayuda. Resuelto!

Un saludo
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 05:46.