求下面代码错误原因:
时间:2011-12-15
来源:互联网
Sub InterList()
Dim reQ_InterId,reQ_InterName,reQ_Proxian,reQ_Count,cmdAccount
Dim myArray
DataConnect
reQ_Count=0
Set Rs =Server.CreateObject("Adodb.RecordSet")
cmdAccount="SelectMobileLimit"
Rs.Open cmdAccount,Conn,0,1,4
If Not Rs.EOF Then//21行
myArray=Rs.GetRows
End If
Rs.Close
Set Rs=Nothing
DataDisConnect
End Sub
错误:
ADODB.Recordset 错误 '800a0e78'
对象关闭时,不允许操作。
/admin1/hra_selectbyprocedure.asp,行 21
ps:
Conn是全局的别的地方有定义
asp中存储过程能这么执行么
Dim reQ_InterId,reQ_InterName,reQ_Proxian,reQ_Count,cmdAccount
Dim myArray
DataConnect
reQ_Count=0
Set Rs =Server.CreateObject("Adodb.RecordSet")
cmdAccount="SelectMobileLimit"
Rs.Open cmdAccount,Conn,0,1,4
If Not Rs.EOF Then//21行
myArray=Rs.GetRows
End If
Rs.Close
Set Rs=Nothing
DataDisConnect
End Sub
错误:
ADODB.Recordset 错误 '800a0e78'
对象关闭时,不允许操作。
/admin1/hra_selectbyprocedure.asp,行 21
ps:
Conn是全局的别的地方有定义
asp中存储过程能这么执行么
作者: dongjun_520 发布时间: 2011-12-15
求达人帮忙解决一下问题啊
作者: dongjun_520 发布时间: 2011-12-15
作者: hefeng_aspnet 发布时间: 2011-12-15
存储过程的结果集赋值给RecordSet对象后,怎么读取,需不需要RecordSet.Open,还是直接就可以读取
作者: dongjun_520 发布时间: 2011-12-15
在ASP中运行存储过程要使用command对象。command对象代表一个命令(例如一个SQL查询或一个SQL存储过程)。在开始使用ADO之前,必须建立一个ODBC数据源,ODBC数据源包含了如何与一个数据提供者进行连接的信息。数据源共有三种类型:用户数据源、系统数据源、文件数据源。在此,应建立系统数据源。如:网上考试系统中建立的系统数据源名为testsys,SQL Server中的考试数据库名为text,在数据库test中若干数据表,其中stu为学生注册登记表,stu中至少有两个字段stuname(学生名),stupwd(学生密码)。
1。存储过程的建立
可在SQL SERVER中建立存储过程,使用enterprise manager或使用SQL SERVER Query Analyzer。
操作过程大致可分为如下两步:
第一步:在SQL SERVER 中启动enterprise manager展开test数据库,在stored procedure 上执行右键快捷列表框的nwe stored procedure指令,可以看到程序代码的编辑窗口。
第二步:在“TEXT”框输入stored procedure的程序代码。
例1:统计注册学生数量的存储过程sp_stucount 的建立
create procedure sp_stucount as
return(select count(*) from stu)
统计一个数据表中的记录总数,效率最高的方法就是建立一个存储过程。
例2:网上考试系统的注册页面中用户名与密码的验证,所用的存储过程sp_proc的建立
create procedure sp_proc
(@zc_name varchar(30),@zc_pwd varchar(30))
as
select * from stu where stuname=@zc_name and stupwd=@zc_pwd
这个存储过程接受两个输入参数,@zc_name向存储过程传递注册名,@zc_pwd向存储过程传递注册密码。
2。在ASP中执行存储过程
在ADO中提供了对存储过程的访问,它需要用到command对象,在这个对象上用户可以直接执行SQL SERVER的存储过程,而命令中所需要的参数可以借助于其属性parameters来进行处理。下面以register.asp为例来说明如何调用存储过程,在register.asp中调用了存储过程sp_pro
<!--#include virtual="adovbs.inc"-->
<%
if request.servervariables("request.method")="post" then
num=trim(request.form("name"))
passwd=trim(request.form("pwd"))
set conn=server.createobject("adodb.connection")
'创建connection对象conn
dn="dsn=testsys"
conn.open dn
set md.activeconnection=conn
md.commandtype=adcmdstoredproc
'指定commandtype属性为adcmdstoredproc表示要处理的是一个存储过程
md.commandtext="sp_proc"
'指定存储过程sp_proc
set mfp=md.createparameter("name",advarchar,adparaminput,30)
md.parameters.append mfp
set msp=md.createparameter("pwd",advarchar,adparaminput,30)
md.parameters.append msp
'向存储过程传递参数
md("name")=num
md("pwd")=passwd
set rs=md.execute
'执行
if not rs.eof then
response.redirect "http://zxy/shome.htm"
'zxy是服务器名
else
response.redirecthttp://zxy/fail.htm
end if
end if
%>
//用户注册
<html>
<head>
<title>请注册账号和密码</title>
</head>
<body>
<h2><center> </center><center> </center></h2>
<h2><center>请输入账号和密码</center></h2>
<form method="post" action="http://zxy/register.asp">
<p><center>请输入账号:<input type="text" name="name"></p></center>
<p><center>请输入密码:<input type="password" name="pwd"></p></center>
<p><center><input type="submit" value="注册" name="cmdres"> <input type="reset" value="重置" name="res"></center>
</form>
</body></html>
register.asp是用户注册的页面,用户在注册页面中输入用户名和密码,提交表单后,用户输入的用户名和密码被传递给存储过程,然后用execute方法执行存储过程。如果表stu中存在这个用户名和相应的密码,则进入学生考试主页shome.htm,否则进入注册失败主页false.htm.
1。存储过程的建立
可在SQL SERVER中建立存储过程,使用enterprise manager或使用SQL SERVER Query Analyzer。
操作过程大致可分为如下两步:
第一步:在SQL SERVER 中启动enterprise manager展开test数据库,在stored procedure 上执行右键快捷列表框的nwe stored procedure指令,可以看到程序代码的编辑窗口。
第二步:在“TEXT”框输入stored procedure的程序代码。
例1:统计注册学生数量的存储过程sp_stucount 的建立
create procedure sp_stucount as
return(select count(*) from stu)
统计一个数据表中的记录总数,效率最高的方法就是建立一个存储过程。
例2:网上考试系统的注册页面中用户名与密码的验证,所用的存储过程sp_proc的建立
create procedure sp_proc
(@zc_name varchar(30),@zc_pwd varchar(30))
as
select * from stu where stuname=@zc_name and stupwd=@zc_pwd
这个存储过程接受两个输入参数,@zc_name向存储过程传递注册名,@zc_pwd向存储过程传递注册密码。
2。在ASP中执行存储过程
在ADO中提供了对存储过程的访问,它需要用到command对象,在这个对象上用户可以直接执行SQL SERVER的存储过程,而命令中所需要的参数可以借助于其属性parameters来进行处理。下面以register.asp为例来说明如何调用存储过程,在register.asp中调用了存储过程sp_pro
<!--#include virtual="adovbs.inc"-->
<%
if request.servervariables("request.method")="post" then
num=trim(request.form("name"))
passwd=trim(request.form("pwd"))
set conn=server.createobject("adodb.connection")
'创建connection对象conn
dn="dsn=testsys"
conn.open dn
set md.activeconnection=conn
md.commandtype=adcmdstoredproc
'指定commandtype属性为adcmdstoredproc表示要处理的是一个存储过程
md.commandtext="sp_proc"
'指定存储过程sp_proc
set mfp=md.createparameter("name",advarchar,adparaminput,30)
md.parameters.append mfp
set msp=md.createparameter("pwd",advarchar,adparaminput,30)
md.parameters.append msp
'向存储过程传递参数
md("name")=num
md("pwd")=passwd
set rs=md.execute
'执行
if not rs.eof then
response.redirect "http://zxy/shome.htm"
'zxy是服务器名
else
response.redirecthttp://zxy/fail.htm
end if
end if
%>
//用户注册
<html>
<head>
<title>请注册账号和密码</title>
</head>
<body>
<h2><center> </center><center> </center></h2>
<h2><center>请输入账号和密码</center></h2>
<form method="post" action="http://zxy/register.asp">
<p><center>请输入账号:<input type="text" name="name"></p></center>
<p><center>请输入密码:<input type="password" name="pwd"></p></center>
<p><center><input type="submit" value="注册" name="cmdres"> <input type="reset" value="重置" name="res"></center>
</form>
</body></html>
register.asp是用户注册的页面,用户在注册页面中输入用户名和密码,提交表单后,用户输入的用户名和密码被传递给存储过程,然后用execute方法执行存储过程。如果表stu中存在这个用户名和相应的密码,则进入学生考试主页shome.htm,否则进入注册失败主页false.htm.
作者: hefeng_aspnet 发布时间: 2011-12-15
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28