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

La operación no está permitida si el objeto está cerrado.

Estas en el tema de La operación no está permitida si el objeto está cerrado. en el foro de ASP Clásico en Foros del Web. Bunas nuevamente con dudas estoy haciendo una sistemilla para borrar datos de base access. tengo un codigo que hace la operacion de borrar, de echo ...
  #1 (permalink)  
Antiguo 13/08/2009, 10:23
 
Fecha de Ingreso: abril-2005
Mensajes: 112
Antigüedad: 20 años
Puntos: 0
La operación no está permitida si el objeto está cerrado.

Bunas nuevamente con dudas estoy haciendo una sistemilla para borrar datos de base access. tengo un codigo que hace la operacion de borrar, de echo borra los registros correctamente, pero me tira este error

ADODB.Recordset error '800a0e78'
La operación no está permitida si el objeto está cerrado.
/borrar.asp, línea 18

el codigo que tengo es este:

vid=request("id")
set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("noticias.mdb")&";"
sqlstmt = "DELETE * from noticias WHERE id="&vid
rs.Open sqlstmt, oConn
rs.delete (esta es la linea 18)
rs.update
rs.close
oConn.close


de antemano muchas gracias.
__________________
CRISTIANF
Talen ese arbol, que me tapa el bosque!!! :censura:
  #2 (permalink)  
Antiguo 13/08/2009, 11:13
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Respuesta: La operación no está permitida si el objeto está cerrado.

Hola Cristian, la línea 18 está totalmente de más, quitala. Lo que está borrando los registros es la línea anterior a ésta gracias a la sentencia SQL que lleva la variable sqlstmt.

Y otra cosita... el asterisco allí no tiene nada que hacer, quitalo. No te da errores porque usás Access como BD, pero en caso de usar otra base de datos (una de verdad ) te daría errores.
__________________
...___...
  #3 (permalink)  
Antiguo 13/08/2009, 12:41
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: La operación no está permitida si el objeto está cerrado.

Hola

¿No sería mejor cambiar estas lineas

rs.Open sqlstmt, oConn
rs.delete (esta es la linea 18)
rs.update


por

oConn.Execute(sqlstmt)

?

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #4 (permalink)  
Antiguo 13/08/2009, 13:41
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Respuesta: La operación no está permitida si el objeto está cerrado.

Cierto. Hasta la instancia del objeto recordset es innecesaria.
__________________
...___...
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 14:29.