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

eliminar un usuario (error ADODB.Recordset (0x800A0E78)

Estas en el tema de eliminar un usuario (error ADODB.Recordset (0x800A0E78) en el foro de ASP Clásico en Foros del Web. hola a todos los del foro, lo que me pasa es lo siguiente , quiero eliminar un usuario desde mi pagina asp y me arroja ...
  #1 (permalink)  
Antiguo 31/08/2006, 01:20
 
Fecha de Ingreso: agosto-2006
Ubicación: chile
Mensajes: 21
Antigüedad: 17 años, 9 meses
Puntos: 0
eliminar un usuario (error ADODB.Recordset (0x800A0E78)

hola a todos los del foro, lo que me pasa es lo siguiente , quiero eliminar un usuario desde mi pagina asp y me arroja el siguiente error :
Tipo de error:
ADODB.Recordset (0x800A0E78)
La operación no está permitida si el objeto está cerrado.
/respuesta_eliminar_usuario.asp, línea 31.....
ok
el codigo que estoy utilizando es este

<form method="POST" action="sistema_principal.asp">
<style type="text/css">
<!--
.Estilo1 {color: #FF0000}
body {
background-image: url('tesis/bg82.gif');
}
-->
</style>
<%

Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("inventario.mdb")
sqltext = "delete * FROM usuario"
rst.Open sqltext,cnn,3,3
'Recogemos los datos y validamos que no haya ningun campo vacio
dim usuario,password
usuario = Request.Form("usua")
password = Request.Form("pass")
if usuario = "" or password ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End

end if
'Si está todo correcto, procedemos a eliminar los datos a la base de datos
rst.delete
rst("usuario") = usuario
rst("password") = password
rst.update
'Terminamos e imprimimos un mensaje
Response.Write " "

%>
<html>

<head>
<title>USUARIO ELIMINADO</title>

<style type="text/css">
<!--
body {
background-image: url('tesis/bg82.gif');
}
-->
</style>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body>
&nbsp;<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p align="center"><strong><font color="#FF0000">USUARIO ELIMIDADO SATISFACTORIAMENTE</font></strong></p>
<p>&nbsp;</p>
<p align="center">&nbsp;</p>
<div align="center">
<INPUT TYPE="Submit" VALUE="regresar">
</div>
</body>
</html>

ojala me puedan ayudar , porque por mi parte no he podido sacar el error , gracias de ante mano
  #2 (permalink)  
Antiguo 31/08/2006, 07:31
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Aqui borras a todos los de tu tabla usuarios, no veo la condicion para borrar a un solo usuario, ahi borras a Todos.
sqltext = "delete * FROM usuario WHERE CONDICIONES "
rst.Open sqltext,cnn,3,3
y luego esto va.

rst.delete
rst("usuario") = usuario
rst("password") = password
rst.update

por eso te marca el error,
  #3 (permalink)  
Antiguo 31/08/2006, 10:36
 
Fecha de Ingreso: agosto-2006
Ubicación: chile
Mensajes: 21
Antigüedad: 17 años, 9 meses
Puntos: 0
como borro uno solo??

ahora no me arroja ese error , pero lo que yo no quiero es que se me borren todos los usuarios sino solo uno , haber si me dicen como lo hago porfa , lo que pasa es que recien estoy empesando con asp y no capto mucho
  #4 (permalink)  
Antiguo 31/08/2006, 11:37
 
Fecha de Ingreso: agosto-2006
Ubicación: chile
Mensajes: 21
Antigüedad: 17 años, 9 meses
Puntos: 0
Pregunta no elimina ninguno

holas soy yo de nuevo, lo que pasa que quiero borrar un usuario , el codigo al ejecutarlo no me arroja ningun error pero lo que le pasa que al revisar la base de datos para ver si lo borro to do sigue igual como esta no se que pasa , aqui les muestro el codigo haber que me dicen :
<%




Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("inventario.mdb")
sqltext = "delete * FROM usuario where (usuario='"&usuario&"' and password='"&password&"')"
rst.Open sqltext,cnn,3,3
'Recogemos los datos y validamos que no haya ningun campo vacio
dim usuario,password
usuario = Request.Form("usua")
password = Request.Form("pass")
if usuario = "" or password ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End

end if
'Terminamos e imprimimos un mensaje
Response.Write " "
%>
  #5 (permalink)  
Antiguo 31/08/2006, 12:18
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 23 años, 3 meses
Puntos: 535
Hola, antes que nada, pedirte que no abras nuevos temas para tratar un mismo problema.

Ahora si:

Código:
<%
'Response.Buffer = true
dim cnn,rst
' Creamos la conexión a la base de datos sin DSN
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("inventario.mdb")

'Recogemos los datos y validamos que no haya ningun campo vacio
dim usuario,password
usuario = Request.Form("usua")
password = Request.Form("pass")

if usuario = "" or password ="" then
  error = "Debe completar todos los datos."
  Response.Write error
  Response.End
Else
  sqltext = "delete FROM usuario where (usuario='"&usuario&"' and password='"&password&"')"
  rst.Open sqltext,cnn,3,3
  'Terminamos e imprimimos un mensaje
  Response.Write " "
end if
%>
Recogías el nombre de usuario y el password DESPUÉS de tratar de eliminarlos, por lo tanto, intentabas eliminar un registro cuyos compos usuario y password fueran vacíos.

Ah, no uses el * en las sentencias delete... sólo access lo entiende (en el resto de las bases de datos arrojaría un error)
__________________
...___...
  #6 (permalink)  
Antiguo 31/08/2006, 13:43
 
Fecha de Ingreso: agosto-2006
Ubicación: chile
Mensajes: 21
Antigüedad: 17 años, 9 meses
Puntos: 0
De acuerdo gracias por la ayuda

muchas gracias por la ayuda se me soluciono el problema , con lo referente al abrir un nuevo tema me di cuenta que lo habia hecho despues de haberlo mandado , asi que disculpen por haberlo hecho y que no se repetira ok , gracias
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 21:43.