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

ERROR ADODB.Recordset error '800a0e78'

Estas en el tema de ERROR ADODB.Recordset error '800a0e78' en el foro de ASP Clásico en Foros del Web. HOLA AMIGOS POR FAVOR NECESITO SU AYUDA LA PAGINA ME TIRA EL SIGUIENTE ERROR ADODB.Recordset error '800a0e78' La operación no está permitida si el objeto ...
  #1 (permalink)  
Antiguo 18/08/2004, 15:28
 
Fecha de Ingreso: mayo-2003
Mensajes: 15
Antigüedad: 21 años
Puntos: 0
ERROR ADODB.Recordset error '800a0e78'

HOLA AMIGOS POR FAVOR NECESITO SU AYUDA

LA PAGINA ME TIRA EL SIGUIENTE ERROR


ADODB.Recordset error '800a0e78'

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

/INVENTARIO/guardarentradas.asp, line 48


Y EL CODIGO ES ESTE


<%

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")
sSQL="Update PRODUCTOS Set STOCK='" & STOCK & "' Where NOMBRE='" & NOMBRE & "'"
set rst = cnn.Execute(sSQL)



NOMBRE = Request.Form("fld201NOMBRE1")
UNIDAD_MEDIDA = Request.Form("fld201UNIDAD_MEDIDA1")
PROVEEDOR = Request.Form("fld201PROVEEDOR1")
PRECIO_COMPRA = Request.Form("fld201PRECIO_COMPRA0")
IVA = Request.Form("fld201IVA0")
ILA = Request.Form("fld201IVAchr3220")
PORCENTAJE = Request.Form("fld201PORCENTAJE0")

STOCK = Request.Form("fld201STOCK0")
NUEVAS = Request.Form("fld201PRECIO_VENTA0")


IVA5 = IVA / 100
IVA6 = ILA / 100
PORCENTAJE = PORCENTAJE / 100
IVA3 = IVA5 + IVA6

PRECIO1 = PRECIO_COMPRA * PORCENTAJE
PRECIO2 = PRECIO_COMPRA * IVA3
PRECIO_VENTA = PRECIO_COMPRA + PRECIO1 + PRECIO2



STOCK = STOCK + NUEVAS
TOTAL = PRECIO_VENTA * STOCK

IVA5 = IVA5 * 100
IVA6 = IVA6 * 100
PORCENTAJE = PORCENTAJE * 100




'Si está todo correcto, procedemos a ingresar los datos a la base de datos

rst.AddNew // AQUI ME DICE QUE ESTA EL ERROR
rst("NOMBRE") = NOMBRE
rst("UNIDAD_MEDIDA") = UNIDAD_MEDIDA
rst("PROVEEDOR") = PROVEEDOR
rst("PRECIO_COMPRA") = PRECIO_COMPRA
rst("IVA") = IVA
rst("IVA 2") = ILA
rst("PORCENTAJE") = PORCENTAJE
rst("FECHA") = FECHA
rst("STOCK") = STOCK
rst("TOTAL") = TOTAL


rst.update

'Terminamos e imprimimos un mensaje
Response.Write "El stock se actualizo con exito "
%>

<html>
<head>
</head>
<body bgColor="#9596AC">
</body>
</html>
  #2 (permalink)  
Antiguo 18/08/2004, 16:59
Avatar de Fher  
Fecha de Ingreso: febrero-2003
Ubicación: En algun lugar de cancun
Mensajes: 384
Antigüedad: 21 años, 4 meses
Puntos: 0
mmmmmmmm tiene rato que no agarro el asp ya que esto ahora en aspx pero aqui te doy un codigo que te puede ayudar te recomendaria que te basaras en este codigo esta mas sencillo

Insertar------------------------------------------

id=request.form("id")
pass=request.form("pass")
nombre=request.form("nombre")
tama=request.form("tama")
teatro=request.form("teatro")
banquete=request.form("banquete")
salon=request.form("salon")
recep=request.form("recep")
equipo=request.form("equipo")
sedivide=request.form("sedivide")


strconexion ="tu cadadena de conexion"
set conexion = server.createobject("adodb.connection")
conexion.open strconexion
set pro = Server.CreateObject("ADODB.Recordset")
sqlstring = "SELECT * FROM salones"
pro.Open sqlstring, conexion, 3, 3

pro.AddNew
pro.Fields("idhotel")=id
pro.Fields("nombre")=nombre
pro.Fields("tamano")=tama
pro.Fields("teatro")=teatro
pro.Fields("banquete")=banquete
pro.Fields("salon")=salon
pro.Fields("recepsion")=recep
pro.Fields("equipo")=equipo
pro.Fields("sedivide")=sedivide

pro.Update
pro.close
set pro=nothing
conexion.close
set Conexion=nothing
%>
--------------
Tu problema es que no le estas quitanto el rst.AddNew se lo tieenes que quitar para actualzar ya que lo toma como que fuera un nuevo registro

lo cual del codigo anterior te quedaria asi para actualizar


pass=request.form("pass")
nombre=request.form("nombre")
tama=request.form("tama")
teatro=request.form("teatro")
banquete=request.form("banquete")
salon=request.form("salon")
recep=request.form("recep")
equipo=request.form("equipo")
sedivide=request.form("sedivide")


strconexion ="tu cadadena de conexion"
set conexion = server.createobject("adodb.connection")
conexion.open strconexion
set pro = Server.CreateObject("ADODB.Recordset")
sqlstring = "SELECT * FROM salones WHere id=" & id
pro.Open sqlstring, conexion, 3, 3


pro.Fields("nombre")=nombre
pro.Fields("tamano")=tama
pro.Fields("teatro")=teatro
pro.Fields("banquete")=banquete
pro.Fields("salon")=salon
pro.Fields("recepsion")=recep
pro.Fields("equipo")=equipo
pro.Fields("sedivide")=sedivide

pro.Update
pro.close
set pro=nothing
conexion.close
set Conexion=nothing
__________________
solo firma
  #3 (permalink)  
Antiguo 18/08/2004, 17:01
Avatar de bakanzipp  
Fecha de Ingreso: noviembre-2001
Ubicación: santiago de shilli
Mensajes: 2.554
Antigüedad: 22 años, 7 meses
Puntos: 0
cambia todo esto...

rst.AddNew // AQUI ME DICE QUE ESTA EL ERROR
rst("NOMBRE") = NOMBRE
rst("UNIDAD_MEDIDA") = UNIDAD_MEDIDA
rst("PROVEEDOR") = PROVEEDOR
rst("PRECIO_COMPRA") = PRECIO_COMPRA
rst("IVA") = IVA
rst("IVA 2") = ILA
rst("PORCENTAJE") = PORCENTAJE
rst("FECHA") = FECHA
rst("STOCK") = STOCK
rst("TOTAL") = TOTAL
rst.update

por un update como la que tienes arriba

sSQL="Update bla..bla...bla"
cnn.Execute(sSQL)

saludos
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 17:44.