存储过程(3)

作者:leen 来源:千一网络(原创) 日期:2006-6-18

存储过程创建好后如何被 ASP 之类的程序调用呢,这一节说说这个问题。

第一种方法:利用 ADODB.Connection 对象的 Execute 方法,如:

conn.Execute "exec sp_executesql N'" & Replace(sql, "'", "''") & "'"

第二种方法,利用 ADODB.Command 对象,这也是最常用的方法。

dim cmd
set cmd = server.CreateObject("ADODB.Command")
cmd.ActiveConnection = conn 'conn 为 ADODB.Connection 对象
cmd.CommandText = "存储过程名"
cmd.CommandType = 4 '表示类型为存储过程

cmd.parameters.Append cmd.CreateParameter("存储过程的参数名", 参数类型, 参数方向, 参数长度, 参数值)
cmd.parameters.Append cmd.CreateParameter("@docID", 3, 2, 4) '这里只有四个参数,是因为 @docID 为输出(OUTPUT)参数,就省略了参数值
cmd.Execute

docID = cmd.parameters("@docID").value '获得存储过程的 OUTPUT 参数值
set cmd = nothing

存储过程的参数名:注意 @ 不能省略。
参数类型:用数字表示,int 类型为 3,smallint 类型为 2,tinyint 类型为 16,更多类型的值,会在下一节给出。
参数方向:用数字表示,1 为输入即参数值是传入存储过程的, 2 为输出即参数值是从存储过程中传出来的,如上面的 docID。
参数长度:如:int 长度为 4,smallint 长度为 2,tinyint 长度为 1,跟 SQL 中的长度差不多,要注意的是:ASP调用存储过程时操作text字段出错
参数值:要传入存储过程的参数的值。

相关文章