对象关闭时,不允许操作。 (这个问题如何解决,是access版)

时间:2023-01-24 15:44:01
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

11 个解决方案

#1


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

#2


按照您的方法,还是不行。

#3


再顶上去

按照您的方法,还是不行。

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

#4


再确认一下,你的数据库连接(conn)是否关闭了.

#5


高级web开发交流群   39354698
asp asp.net javascript vbs html css C# .net 相关

#6


哈哈。。搞笑~~~
搂主,不要用rs.open方法。
用conn.exec方法。

conn.exec(sql)
完成。根本牵涉不到数据集打开再update的。。。。想复杂了!

#7


如果涉及到数据库的更新或者insert,请使用adodb.connection的execute方法进行。读取数据才用得上recordset的

#8


楼主在定义Recordset时,前后二个同名,可以把第一个改成rs1,后面一个改成rs2.这样来

#9


delete操作之后rs.close会有这个错误,建议还是删除吧...

#10


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这两个操作

#11


up

#1


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

#2


按照您的方法,还是不行。

#3


再顶上去

按照您的方法,还是不行。

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

#4


再确认一下,你的数据库连接(conn)是否关闭了.

#5


高级web开发交流群   39354698
asp asp.net javascript vbs html css C# .net 相关

#6


哈哈。。搞笑~~~
搂主,不要用rs.open方法。
用conn.exec方法。

conn.exec(sql)
完成。根本牵涉不到数据集打开再update的。。。。想复杂了!

#7


如果涉及到数据库的更新或者insert,请使用adodb.connection的execute方法进行。读取数据才用得上recordset的

#8


楼主在定义Recordset时,前后二个同名,可以把第一个改成rs1,后面一个改成rs2.这样来

#9


delete操作之后rs.close会有这个错误,建议还是删除吧...

#10


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这两个操作

#11


up