微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存储过程中调用, 在VS中调用的方法)

存储过程有三种返回:   

1.   return返回数字型数据   

2.   用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)   

3.   直接在存储过程中用select返回结果集可以是任意的select语句这意味着是任意的返回结果集

 

方法一:用return返回数字型数据 

1. 创建存储过程

--sqlSERVER 2005示例数据库

USE AdventureWorks

GO

CREATE PROCEDURE checkstate 

@param VARCHAR(11)

AS

IF (

       SELECT StateProvince

       FROM   Person.vAdditionalContactInfo

       WHERE  ContactID = @param

   ) = 'WA'

    RETURN 1

ELSE

    RETURN 2;

GO

2. 在存储过程中调用

DECLARE @return_status INTEXEC @return_status checkstate '9';  --将存储过程返回值赋给@return_status

SELECT 'Return Status' @return_statusGO

3. VS调用

 List<DbParameterpara = new DbParameter>();

        para.Add(sqlParameter("@param", 9));

        sqlParameter pa = sqlParameter();

        pa.ParameterName = "@return";

        sqlDbType = sqlDbType.Int;

        Direction = ParameterDirection.ReturnValue;

        Add(pa);

        int i = DBHelper.Executesql("checkstate"CommandType.StoredProcedurepara);

        Response.Write(para[1].Value.ToString());

 

 

方法二:用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)   

1. 创建存储过程

OutPutValue 

),

@param2 ) OUTPUT

'WA'

   SET @param2='Good'

ELSE

   'Bad'

@param1 NVARCHAR(100@param1'9'

OutPutValue@param2

3. VS调用

     "9"));

        Output;

        "@param2";

        Size = 11;

        "OutPutValue ",1)">para);

        //OutPut返回值

        ToString());  //输出返回值

 

 

方法:直接在存储过程中用select返回结果集,可以是任意的select语句,这意味着是任意的返回结果集  

1. 创建存储过程

ReturnDataTable

BEGIN

SELECT * FROM vAdditionalContactInfo

END 

ReturnDataTable

3. VS调用

//存储过程返回结果集可存放在DataTable

 DataTable dt = GetDataTable("ReturnDataTable",1)">StoredProcedure); 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐