SQLServer 中存储过程返回的三种方式( 包括存储过程的创建, 在存
存储过程有三种返回:??? 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<DbParameter>?para?=?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.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);? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |