当前位置: 代码迷 >> Sql Server >> asp调用存储过程(二个进参,三个出参)解决办法
  详细解决方案

asp调用存储过程(二个进参,三个出参)解决办法

热度:20   发布时间:2016-04-27 12:55:48.0
asp调用存储过程(二个进参,三个出参)
存储过程 pro_A
create pro pro_A
declare @str varchar(1000)
declare @NID int
declare @resulta int output
declare @resultb int output
declare @resultc int output
as
。。。。。。。。
return

请问asp怎样调用该存储过程 请写一个具体事例。
[email protected][email protected],未允许录入”
[email protected]
请务必写一个具体的事例。

------解决方案--------------------
SQL code
create pro pro_Adeclare @str varchar(1000)declare @NID intdeclare @resulta int outputdeclare @resultb int outputdeclare @resultc int output存储过程不是你这样写的,过程的参数是不需要Declare来定义的.Create Pro pro_A@str Varchar(1000), @NID int,@resulta Int OutPut,@resultb Int OutPut,@resultc Int OutPutAs Begin  这里是内容End
------解决方案--------------------
VB code
    SET Comm = Server.CreateObject("ADODB.COMMAND")    WITH Comm        .ActiveConnection =   strCon '数据库连接字符串        .CommandText      =   "pro_A" '存储过程名字        .CommandType      =   4         .Prepared         =   True '开启预编译                .Parameters.Append .CreateParameter("@EveryPage",3,1,4,EveryPage)           '入参,每页数据条数        .Parameters.Append .CreateParameter("@TotalCount",3,4,4)                    '出参,总记录数        .Parameters.Append .CreateParameter("@TotalPageCount",3,4,4)                '出参,总页数        SET Rs = .Execute    END WITH    Rs.Close '取返回参数要先关闭数据集    TotalCount = Comm.Parameters("@TotalCount")    TotalPageCount = Comm.Parameters("@TotalPageCount")
------解决方案--------------------
SqlConnection conn=new SqlConnection ("连接串");
conn.open();
SqlCommand cmd=new SqlCommand("pro_A",conn);
//定义命令对象类型
cmd.CommandType=CommandType.SotredProcedure;
//添加输入类型参数
cmd.Parameters.Add("@Str1", SqlDbType.NVarChar, 30).Direction = ParameterDirection.InputOutput;
//添加输出类型参数
cmd.Parameters.Add("@Str1", SqlDbType.NVarChar, 30).Direction = ParameterDirection.Output;
conn.close();
  相关解决方案