asp调用存储过程的问题!!!!急
asp调用存储过程 执行完存储过程中的insert语句 rs就会关掉是怎么回事,!谁能帮我解决???
存储过程:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[proc1017]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[proc1017]
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
create proc proc1017 (@strInsert varchar(50)) as
if(select count(*) from users)<5
begin
insert into users(name) values(@strInsert)
end
else
begin
insert into users(name) values(@strInsert)
select * from users where name = @strInsert
end
asp页面
<%@ Language=VBScript %>
<!--#include file ="adovbs.inc"-->
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
</HEAD>
<BODY>
<%
Dim Cnn, StrCnn ,cmd,rs,ids
ids =Request.Form("id")
Set Cnn = Server.CreateObject("ADODB.Connection")
Set cmd=server.CreateObject("adodb.command")
set rs = server.CreateObject("adodb.recordset")
StrCnn = "Provider=sqloledb; User ID=sa; Password=sa; Initial Catalog=pubs;Data Source=D1T00_WANGZB"
Cnn.Open StrCnn,"sa","sa"
Cnn.BeginTrans
set cmd.ActiveConnection=Cnn
cmd.CommandType =adCmdStoredProc
cmd.CommandText = "proc1017"
set srtInsert = cmd.CreateParameter("@srtInsert",adVarChar,adParamInput,50,ids)
cmd.Parameters.Append srtInsert
set rs=cmd.Execute()
Response.Write cmd.State & Cnn.State&rs.State
Response.Write"<table border=3>"
Response.Write"<tr>"
for i=0 to rs.fields.count-1
Response.Write "<td>"&Ucase(rs(i).Name)&"</td>"
next
Response.Write "</tr>"
do while not rs.eof
Response.Write "<tr>"
for i=0 to rs.fields.count-1
Response.Write"<td>"&rs(i).value&"</td>"
next
rs.MoveNext
Response.Write"</tr>"
loop
Response.Write"</table>"
Cnn.CommitTrans
set conn = nothing
%>
<P> </P>
</BODY>
</HTML>
错误提示
Error Type:
ADODB.Recordset (0x800A0E78)
Operation is not allowed when the object is closed.
/PVTS_Local/porcdure/porcdure1017.asp, line 43
我如过把存储过程中的insert语句去掉事好用的
好像recordset对象执行完insert语句就会关闭
怎么办???