日期:2014-05-17  浏览次数:21079 次

对象关闭时,不允许操作。 (这个问题如何解决,是access版)
ADODB.Recordset   错误   '800a0e78 '  

对象关闭时,不允许操作。  

/admin/admin.asp,行   51  


代码部份:

if   request( "action ")= "del "   and   request( "id ") <> " "   then

set   rs=Server.CreateObject( "ADODB.Recordset ")
sql= "delete   *   from   admin   where   id= "&abs(request( "id "))
rs.open   sql,conn,3,3
rs.update                                   -----------     行   51  
set   rs=Server.CreateObject( "ADODB.Recordset ")
sql= "delete   *   from   article   where   userid= "&abs(request( "id "))
rs.open   sql,conn,3,3
rs.update
rs.close
set   rs=nothing


end   if

------解决方案--------------------
set rs=Server.CreateObject( "ADODB.Recordset ")
sql= "delete * from admin where id= "&abs(request( "id "))
rs.open sql,conn,3,3
rs.update ----------- 行 51
rs.close
set rs=nothing
set rs=Server.CreateObject( "ADODB.Recordset ")
sql= "delete * from article where userid= "&abs(request( "id "))
rs.open sql,conn,3,3
rs.update
rs.close
set rs=nothing

------解决方案--------------------
再确认一下,你的数据库连接(conn)是否关闭了.
------解决方案--------------------
哈哈。。搞笑~~~
搂主,不要用rs.open方法。
用conn.exec方法。

conn.exec(sql)
完成。根本牵涉不到数据集打开再update的。。。。想复杂了!
------解决方案--------------------
如果涉及到数据库的更新或者insert,请使用adodb.connection的execute方法进行。读取数据才用得上recordset的
------解决方案--------------------
楼主在定义Recordset时,前后二个同名,可以把第一个改成rs1,后面一个改成rs2.这样来
------解决方案--------------------
delete操作之后rs.close会有这个错误,建议还是删除吧...
------解决方案--------------------
set rs=server.createobject( "adodb.recordset ")
sql= "delete * from admin where id= "&abs(request( "id "))
rs.Open sql, conn, 3, 2
set rs=nothing
不要在后边写rs.close和rs.update这两个操作
------解决方案--------------------
up