|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
楼上说交互性不好,太牵强了吧。在微软提供的一套框架中,利用asp做网站,开发效率高,使用人数少,减少不必要的开销。交互性是互动方式,是有开发人员决定的。存储历程|纪录集 本文开始先容的是前往纪录集的存储历程。偶然候,必要一个存储历程前往多个纪录集,在ASP中,怎样同时获得这些纪录集呢?为了申明这一成绩,在userinfo表中增添两个字段:usertel及usermail,并设定只要登任命户能够检察这两项内容。
/*SP7*/
CREATEPROCEDUREdbo.getUserInfo
@useridint,
@checkloginbit
as
setnocounton
begin
if@useridisnullor@checkloginisnullreturn
selectusername
fromdbo.[usrinfo]
whereuserid=@userid
--若为登任命户,取usertel及usermail
if@checklogin=1
selectusertel,usermail
fromdbo.[userinfo]
whereuserid=@userid
return
end
go
以下是ASP代码:
**挪用前往多个纪录集的存储历程**
DIMchecklg,UserID,UserName,UserTel,UserMail
DIMMyComm,MyRst
UserID=1
checklogin()为自界说函数,判别会见者是不是登录
checklg=checklogin()
SetMyComm=Server.CreateObject("ADODB.Command")
withMyComm
.ActiveConnection=MyConStrMyConStr是数据库毗连字串
.CommandText="getUserInfo"指定存储历程名
.CommandType=4标明这是一个存储历程
.Prepared=true请求将SQL命令先行编译
.Parameters.append.CreateParameter("@userid",3,1,4,UserID)
.Parameters.append.CreateParameter("@checklogin",11,1,1,checklg)
SetMyRst=.Execute
endwith
SetMyComm=Nothing
从第一个纪录会合取值
UserName=MyRst(0)
从第二个纪录会合取值
ifnotMyRstisNothingthen
SetMyRst=MyRst.NextRecordset()
UserTel=MyRst(0)
UserMail=MyRst(1)
endif
SetMyRst=Nothing
以上代码中,使用Recordset工具的NextRecordset办法,获得了存储历程前往的多个纪录集。
至此,针对ASP挪用存储历程的各类情形,本文已做了较为周全的申明。最初说一下在一个ASP程序中,挪用多个存储历程的分歧办法。
在一个ASP程序中,挪用多个存储历程最少有以下三种办法是可行的:
1.创立多个Command工具
DIMMyComm
SetMyComm=Server.CreateObject("ADODB.Command")
挪用存储历程一
......
SetMyComm=Nothing
SetMyComm=Server.CreateObject("ADODB.Command")
挪用存储历程二
......
SetMyComm=Nothing
......
2.只创立一个Command工具,停止一次挪用时,扫除其参数
DIMMyComm
SetMyComm=Server.CreateObject("ADODB.Command")
挪用存储历程一
.....
扫除参数(假定有三个参数)
MyComm.Parameters.delete2
MyComm.Parameters.delete1
MyComm.Parameters.delete0
挪用存储历程二并扫除参数
......
SetMyComm=Nothing
此时要注重:扫除参数的按次与参数声明的按次相反,缘故原由嘛,我也不晓得。
3.使用Parameters数据汇合的Refresh办法重置Parameter工具
DIMMyComm
SetMyComm=Server.CreateObject("ADODB.Command")
挪用存储历程一
.....
重置Parameters数据汇合中包括的一切Parameter工具
MyComm.Parameters.Refresh
挪用存储历程二
.....
SetMyComm=Nothing
一样平常以为,反复创立工具是效力较低的一种办法,可是经测试(测试工具为MicrosoftApplicationCenterTest),了局出人意表:
办法2>=办法1>>办法3
办法2的运转速率年夜于即是办法1(最多可高4%摆布),这两种办法的运转速率宏大于办法3(最多竟高达130%),以是倡议在参数多时,接纳办法1,在参数较少时,接纳办法2。
想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的 |
|