CREATE proc proc_ss @sid int,@stime smalldatetime,@etime smalldatetime
as
declare @i int,@starttime smalldatetime,@endtime smalldatetime, @hqid int
set @hqid=@sid
set @starttime=@stime
set @endtime=@etime
set @i=1+datediff(day,@starttime,@endtime)set rowcount @i
select identity(int,0,1) as num into # from sysobjects,syscolumns
set rowcount 0select
t.num,b.ts_sj,
case when b.ts_sj is null then (select top 1 ts_jg from news_hq_bak where hqlb_id=@hqid
and ts_sj<dateadd(day,t.num,@starttime) order by ts_sj desc)
else b.ts_jg
end as ts_jg
from
# t
left join
news_hq_bak as b
on
dateadd(day,t.num,@starttime)=convert(varchar(10),b.ts_sj,120)
and
b.hqlb_id=@hqid
and
ts_sj between @starttime and @endtimedrop table #
GO
这个存储过程运行正常 但是我想用asp调用 请高手赐教
as
...--〉CREATE proc proc_ss @sid int,@stime smalldatetime,@etime smalldatetime
as
set nocount on
...
这样他有返回值吗?
你直接给我改出来我认真看下
现在学习中。
希望能写得规范些
DIM MyComm,MyRst
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = MyConStr 'MyConStr是数据库连接字串
MyComm.CommandText = "getUserList" '指定存储过程名
MyComm.CommandType = 4 '表明这是一个存储过程
MyComm.Prepared = true '要求将SQL命令先行编译
Set MyRst = MyComm.Execute
Set MyComm = Nothing 存储过程取得的记录集赋给MyRst,接下来,可以对MyRst进行操作。
在以上代码中,CommandType属性表明请求的类型,取值及说明如下:
-1 表明CommandText参数的类型无法确定
1 表明CommandText是一般的命令类型
2 表明CommandText参数是一个存在的表名称
4 表明CommandText参数是一个存储过程的名称
与利用command两个在效率上,有差别吗
set cmd = server.CreateObject("ADODB.command")'创建对象
cmd.ActiveConnection = con'连接数据库的connection对象
cmd.CommandType = adCmdStoredProc'指定命令为存储过程(用这个英文单词必须包含顶上的那个inc文件)
cmd.CommandText = "user_dl"'存储过程名
'参数说明,下边:(参数名,数据类型,参数类型,字符串长度,参数值)
'参数类型adParamReturnValue的必须放在对象的第一个,意思为存储过程中的return值
'前三项为必填值,
set par0 = cmd.CreateParameter("return",adInteger,adParamReturnValue)'创建存储过程参数1
set par1 = cmd.CreateParameter("name",adVarChar,adParamInput,20,Request.Form("names"))'创建存储过程参数2
set par2 = cmd.CreateParameter("pass",adVarChar,adParamInput,20,Request.Form("pass"))'创建存储过程参数3
cmd.Parameters.append = par0'将参数1加入对象中
cmd.Parameters.append = par1'将参数2加入对象中
cmd.Parameters.append = par2'将参数3加入对象中
cmd.Execute'执行
Response.Write cmd("return")'输出运行存储过程后返回的参数
set cmd = Nothing'关闭释放对象
建议你安装InterDev 用这工具有详细的参数提示