存储过程有三种返回:
1. 用return返回数字型数据
2. 用返回参数返回结果,可以返回各种数据类型(通过游标来循环查询结果每一行)
3. 直接在存储过程中用select返回结果集可以是任意的select语句这意味着是任意的返回结果集
方法一:用return返回数字型数据
1. 创建存储过程
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<DbParameter> para = new DbParameter>();
para.Add(sqlParameter("@param", 9));
sqlParameter pa = sqlParameter();
pa.ParameterName = "@return";
Direction = ParameterDirection.ReturnValue;
Add(pa);
int i = DBHelper.Executesql("checkstate", CommandType.StoredProcedure, para);
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 举报,一经查实,本站将立刻删除。