非常奇妙错误!!!

xiaotie0708 2005-04-14 09:10:56
我做论坛的时候遇到这么一个错误提示:
错误类型:
ADODB.Recordset (0x800A0E7D)
连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
/net/tijiao.asp, 第 6 行

前提是确定数据库连接没错误,具体操作代码如下:
<!--#include file="conn/conn.asp"-->
<%
dim rs,sql
set rs =server.CreateObject("ADODB.Recordset")
sql="select * from userinfo"
rs.open sql,conn(该行就是第6行)

请熟悉数据库操作的高手指点迷津,多谢了!
...全文
110 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
现在我重新整理一下总体资料:
(1)这是册页面zhuce.asp主要相关代码:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn/conn.asp"-->
<!--#include file="tijiao.asp"-->
<!--#include file="conn/jvfunction.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册页面!</title>
<link href="css/css4.css" rel="stylesheet" type="text/css">
</head>

<body>
<form action="tijiao.asp" name="form1" method="post" onSubmit="submitcheck()">
<table width="659" border="1">

(2)数据库连接文件conn.asp:
<%
set conn=server.CreateObject("adodb.connection")
connstr="driver={sql server};server={xxt};uid=sa;pwd=;database=netdb;"
conn.open connstr,conn,1,2
%>

(3)这是写入数据库文件tijiao.asp:
<!--#include file="conn/conn.asp"-->
<%
Dim rs,Sql
Set rs = server.CreateObject("adodb.recordset")
sql="select * from userinfo"
rs.open sql,conn,1,3
rs.addnew
rs("username")=server.HTMLEncode(request("name"))
rs("password")=server.HTMLEncode(request("pass"))
rs("sex")=server.HTMLEncode(request("radiobutton"))
rs("email")=server.HTMLEncode(request("mail"))
rs.update
rs.close
rs.nothing
response.Write("恭喜您,注册成功!")
%>

前提是数据库服务器打开着,检查过数据库,表都正确。

浏览器提错误示是:
错误类型:
ADODB.Recordset (0x800A0E7D)
连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
/net/tijiao.asp, 第 6 行

这是个非常固执的错误,我已经做了许多尝试就是解决不了这个问题。
还请高手继续指点!不胜感激!


xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
哦,多谢adventure007朋友的仔细观察,我本来没有这些错误,是今天下午为解决这个问题,头都晕了。但是,现在我也改正了这两个错误,浏览器的提示依然是同样的错误阿!
adventure007 2005-04-14
  • 打赏
  • 举报
回复
<%
set conn=server.CreateObject("adodb.connection")
connstr="server=sql server;uid=sa;pwd=;database=netdb;"
conn.open constr,conn,1,2
%>

这个不对了:conn.open constr
还有connstr="driver={Sql server};server=(local);uid=sa;pwd=;database=netdb;"

可以了
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
现在我整理一下全部资料:
(1)这是注册页面前面主要的部分:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!--#include file="conn/conn.asp"-->
<!--#include file="tijiao.asp"-->
<!--#include file="conn/jvfunction.asp"-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>注册页面!</title>
<link href="css/css4.css" rel="stylesheet" type="text/css">
</head>

<body>
<form action="tijiao.asp" name="form1" method="post" onSubmit="submitcheck()">
<table width="659" border="1">

(2)这是数据库连接文件conn.asp
<%
set conn=server.CreateObject("adodb.connection")
connstr="server=sql server;uid=sa;pwd=;database=netdb;"
conn.open constr,conn,1,2
%>

(3)这是写入数据库的页面tijiao.asp
<!--#include file="conn/conn.asp"-->
<%
Dim rs,Sql
Set rs = server.CreateObject("adodb.recordset")
sql="select * from userinfo"
rs.open sql,conn,1,3
rs.addnew
rs("username")=server.HTMLEncode(request("name"))
rs("password")=server.HTMLEncode(request("pass"))
rs("sex")=server.HTMLEncode(request("radiobutton"))
rs("email")=server.HTMLEncode(request("mail"))
rs.update
response.Write("恭喜您,注册成功!")
%>

其他信息是:数据库服务器正常运行,检查过数据库正确,表正确。

错误信息是:
错误类型:
ADODB.Recordset (0x800A0E7D)
连接无法用于执行此操作。在此上下文中它可能已被关闭或无效。
/net/tijiao.asp, 第 6 行


请高人指点。多谢了!
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
我也曾做了一些ASP数据库,但是首次遇到这个问题,请大家深入讨论,协助我解决这个问题,我有急着要解决呢,谢谢指点!
feibar 2005-04-14
  • 打赏
  • 举报
回复
对的,我也遇到了这样的问题,就是不能set conn=nothing,说已经对象关闭。
谁知道阿?
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
还有高人能继续指点吗?以上我都确定了。
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
尝试结果:
错误类型:
ADODB.Connection (0x800A0E78)
对象关闭时,不允许操作。
/net/tijiao.asp, 第 5 行
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
请等等,我试一试
旺乾多智 2005-04-14
  • 打赏
  • 举报
回复
write by :

Dim ds,SqlString
SqlString = ""
Set ds = Conn.Execute(SqlString)

try!
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
也没有关闭该对象。
xiaotie0708 2005-04-14
  • 打赏
  • 举报
回复
确定conn.asp里面没有错误!
<%
set conn=server.CreateObject("adodb.connection")
connstr="server=sql server;uid=sa;pwd=;database=netdb;"
conn.open constr,conn,1,2
%>
其次,之前没有rs.close语句,也用rs.open sql,conn,1,3试过,一样的错误。
patchclass 2005-04-14
  • 打赏
  • 举报
回复
看看conn这个变量是不是关闭了,还是没有定义
jerryf 2005-04-14
  • 打赏
  • 举报
回复
还有你看看conn.asp里有没有错
jerryf 2005-04-14
  • 打赏
  • 举报
回复
1、你看看之前的语句里有没有rs.close之类的语句
2、改成rs.open sql,conn,1,3试试

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧