1
2set cmd=server.createobject("adodb.command")
3cmd.ActiveConnection = Conn
4cmd.commandtext="cptz1" '存储过程名称
5'cmd.CommandType = adCmdText '此处出错1,不知道为什么
6cmd.Prepared = True
7Set prmTest=cmd.CreateParameter("tbrq",advarchar,adParamInput,10) '字段类型varchar10
8cmd.Parameters.Append prmTest
9set prmtest=cmd.createparameter("bz",advarchar,adparaminput,10) '字段类型varchar10
10
11cmd.Parameters.Append prmTest
12cmd.parameters("tbrq")="2003-06" '赋两个值
13cmd.parameters("bz")="丙班"
14set rs=cmd.execute
15do while not rs.eof '提示此处错2 ,估计是上一句的错误,
16response.write rs(1)
17rs.movenext
18loop
19Set cmd = Nothing
---------------------------------------------------------------
你先使用查询分析器看是否能够执行,排除set rs=cmd.execute的错误。
或许是存储过程的问题,估计是参数传递有些问题。
---------------------------------------------------------------
cmd.CommandType = AdCmdStoredProc
把第一个错误处改成这样先;
另外,存储过程那个改成:
CREATE procedure cptz1
@bz varchar(10),
@tbrq varchar(10)
as
declare @sql varchar(8000)
set @sql = 'select ts'
select @sql = @sql + ',sum(case xmmc when '''+xmmc+''' then rcl else 0 end) ['+xmmc+'/rcl],sum(case xmmc when '''+xmmc+''' then ljl else 0 end) ['+xmmc+'/ljl]'
from (select xmmc from b_xmzdz where right(left(xmflbm,12),2)='06') as b
select @sql = @sql+' from b_bzcptz where bz='''+@bz +'''and tbrq='''+@tbrq+''' group by ts'
exec(@sql)
GO