|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全ado|web 5、StoredProcedure
在会商StoredProcedure之前,我还要对Command对象的Execute办法的感化停止一下论述,普通来讲利用Command的Execute办法有三个目标。1、用于停止一些复杂的处置,例如删除一笔记录:
comm.CommandType=AdCmdText
comm.CommandText="Delect From employee Where Job_ID=1"
comm.execute
如许的任务不需求前往甚么器材。2、用于停止一些庞杂的处置,例如停止一个Transact的设计,这类普通都是和StoredProcedure一同任务的,并且有输入参数和输出的参数,这也是咱们本章的会商主题。3、用于前往一个RecordSet对象,用于其它的处置,例如:
comm.CommandType=AdCmdText
comm.CommandText="Delect From employee Where Job_ID=1"
set rs=comm.execute
dim i
while not rs.EOF
for i=0 to rs.fileds.count-1
response.write rs.fileds.item(i).value&","
next
response.write "<br>"
rs.MoveNext
wend
好了,仍是让咱们重新回到StoredProcedure的会商下去。StoredProcedure是甚么呢?它是一个事后存储的数据库履行举措集,在SQL的办理布局中,关于一个数据库下有几个局部,一个是数据表的纠合、一个就是StoredProcedure的纠合。将二者联合可以完成良多壮大的功效。StoredProcedure实际上是对传统的SQL语句的一种扩大,次要是在参数的输出与输入上。上面我大致的引见一下StoredProcedure的语法布局和与Command对象的参数的传递成绩。
StoredProcedure的尺度写法:(在SQL Server上用Query Analyzer履行)
Create Procedure Procedure_Name
Define Parameter
As
SQL Structure
上 面的语法布局中,Procedure_Name为存储布局的的名字,也是你将在Command中援用的名字。然后是界说输入和输出的参数。最初是一个SQL布局化语句。上面是一个StoredProcedure的例子,它无需输出的参数,也没有输入。
Create Procedure Del_User
As
Delect From Employee Where Job_ID=1
假如咱们要删除指定的 Job_ID该怎样办呢?,这时候咱们需求给这个StoredProcedure输出的参数。
Create Procedure Del_User1
@intID int
As
Delect From Employee Where Job_Id = @intID
好了,这里的@intJob就是一个输出的参数,它可以从内部承受输出的值,上面是给它输出的asp法式:
set conn=Server.CreateObject("ADODB.Connection")
set comm=Server.CreateObject("ADODB.Command")
conn.ConnectionString="Driver={SQL Server};Server=ser;"& _
"uid=sa;pass=;database=employee "
conn.open
comm.ActiveConnection=conn
comm.CommandType=adCmdStoredProc
comm.CommandType="Del_User1"
"这里的名字就是后面在SQL Server中界说过的StoredProcedure的名字。
"上面就是参数的输出
param=comm.CreateParameter("ID",adInt,adParamInput,4)
"这里的adParamInput界说是最主要的。
Param.Value=1 "这里的值可以输出你想要的值,也能够用Request来取得
Comm.Parameters.Append param
Comm.Execute
如许咱们就能够向StoredProcedure传递参数了。有时在一个StoredProcedure中,还存在有输入的参数,上面是一个例子它前往一个Job_ID肯定的Fri_Name的值
Create Procedure Get_fName
@intID int
@fName varChar Output "申明为输入的参数
As
Select @fName = Fri_Name Where Job_ID = @intID
它响应的asp法式也要改写为上面的模式
set conn=Server.CreateObject("ADODB.Connection")
set comm=Server.CreateObject("ADODB.Command")
conn.ConnectionString="Driver={SQL Server};Server=ser;"&_
"uid=sa;psss=;database=employee"
conn.open
comm.ActiveConnection=conn
comm.CommandType=adCmdStoredProc
comm.CommandType="Get_fName"
"这里的名字就是后面界说过的StoredProcedure的名字。
"上面就是参数的输出
param=comm.CreateParameter("ID",adInt,adParamInput,4)
"这里的adParamInput界说是最主要的。
Param.Value=2 "这里的值可以输出你想要的值,也能够用Request来取得
Comm.Parameters.Append param
param=comm.CreateParameter("fName",adVarchar,adParamOutput,255,"")
"这里的adParamOutput界说是最主要的。申明它是一个输入的参数,默许的值 为一空的字符串
comm.Parameters.Append param
Comm.Execute
Response.Write "Job_Id为" |
|