C#获取存储过程的Return返回值和Output输出参数值

转载 2012年03月30日 13:22:34

1.获取Return返回值 程序代码 //存储过程 //

Create PROCEDURE MYSQL

 @a int,

 @b int

AS

 return @a + @b

GO

SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString()); conn.Open(); SqlCommand MyCommand = new SqlCommand("MYSQL", conn);

MyCommand.CommandType = CommandType.StoredProcedure;

 MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));

 MyCommand.Parameters["@a"].Value = 10;

MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));

 MyCommand.Parameters["@b"].Value = 20;

MyCommand.Parameters.Add(new SqlParameter("@return", SqlDbType.Int));

 MyCommand.Parameters["@return"].Direction = ParameterDirection.ReturnValue;

MyCommand.ExecuteNonQuery();

Response.Write(MyCommand.Parameters["@return"].Value.ToString());

2.获取Output输出参数值 程序代码 //存储过程

//Create PROCEDURE MYSQL //

@a int,

 @b int, 

@c int output

AS

Set @c = @a + @b

GO

 SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["LocalSqlServer"].ToString()); conn.Open(); SqlCommand MyCommand = new SqlCommand("MYSQL", conn);

MyCommand.CommandType = CommandType.StoredProcedure;

MyCommand.Parameters.Add(new SqlParameter("@a", SqlDbType.Int));

MyCommand.Parameters["@a"].Value = 20;

MyCommand.Parameters.Add(new SqlParameter("@b", SqlDbType.Int));

 MyCommand.Parameters["@b"].Value = 20;

MyCommand.Parameters.Add(new SqlParameter("@c", SqlDbType.Int));

MyCommand.Parameters["@c"].Direction = ParameterDirection.Output;

MyCommand.ExecuteNonQuery();

Response.Write(MyCommand.Parameters["@c"].Value.ToString()); ------------------------------------------------------------------------------------------- 另一种写法

 C#接收存储过程return返回值:

public static int User_Add(User us)

{

int iRet; SqlConnection conn = new SqlConnection(Conn_Str);

SqlCommand cmd = new SqlCommand("User_Add", conn);

cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@UName", us.UName);

cmd.Parameters.AddWithValue("@QQ", us.QQ);

cmd.Parameters.Add("@RETURN_VALUE", "").Direction = ParameterDirection.ReturnValue;

 try { conn.Open();

      cmd.ExecuteNonQuery();

     iRet = (int)cmd.Parameters["@RETURN_VALUE"].Value;

 }

catch (SqlException ex)

{ throw ex; }

 finally { conn.Close(); }

return iRet;

}

C#接收存储过程输出参数:

public static decimal Cart_UserAmount(int UID)

 { decimal iRet; SqlConnection conn = new SqlConnection(Conn_Str);

 SqlCommand cmd = new SqlCommand("Cart_UserAmount", conn);

 cmd.CommandType = CommandType.StoredProcedure;

cmd.Parameters.AddWithValue("@UID", UID);

 cmd.Parameters.Add("@Amount", SqlDbType.Decimal).Direction=ParameterDirection.Output;

try { conn.Open();

 cmd.ExecuteNonQuery();

iRet = (decimal)cmd.Parameters["@Amount"].Value;

}

catch (SqlException ex)

{ throw ex; }

finally { conn.Close(); }

 return iRet; }

相关文章推荐

C#获取存储过程返回值和输出参数值的方法

这篇文章主要介绍了C#获取存储过程返回值和输出参数值的方法,有需要的朋友可以参考一下 1.获取Return返回值 复制代码代码如下: //存储过程 ...

asp.net 获得存储过程 返回值,影响行数,输出参数 output 用法

ALTER proc [dbo].[InsertUser] (@userID int output , @userName varchar(50), @password varchar(50), @...

ASP.net:调用存储过程 -- 代码取不到输出(Output)参数值 - 因ExecuteReader不当使用

存储过程的输出参数的使用,相信大家早晚多少都(会)用到过。不知用到过朋友,有没有遇到在程序中“咋就”取不到想要的输出值的情况;始终是null值。昨天本人就遇到了,也可能是用的不多,这种情况也是第一次遇...

C# SQL带传入、输出参数及返回值的存储过程

/// /// 带传入参数的存储过程 /// /// /// protected void Button3_Cl...

存储过程输出参数、返回值、返回表及C#调用

存储过程中可以定义输出变量,返回值,执行存储过程还能获得结果集。每个存储过程的默认返回值为0。下面紧接着上文 SQL Server中存储过程Stored Procedure创建及C#调用 基础上写的一...

c#调用带out类型参数的存储过程拿不到返回值的解决办法

很平常的一个用法,没遇到过的人不会来看这篇文章,但我遇到了,搜索了,了解了,所以写下了。       首先,带out参数类型存储过程我们写成这样

.net中使用存储过程output值和返回值

数据库中使用output值和return值:   ------------------------------------------------------- --数获存储过程中的OUTPUT...

MyBatis调用存储过程,含有返回结果集、return参数和output参数

Ibatis是我们经常使用的O/R映射框架,mybats是ibatis被Google收购后重新命名的一个工程,当然也做了大量的升级。而调用存储过程也是一次额C/S架构模式下经常使用的手段,我们知道,i...

MyBatis调用存储过程,含有返回结果集、return参数和output参数

Ibatis是我们经常使用的O/R映射框架,mybats是ibatis被Google收购后重新命名的一个工程,当然也做了大量的升级。而调用存储过程也是一次额C/S架构模式下经常使用的手段,我们知道,i...

ASP.NET中调用存储过程带(输入/输出)参数和返回值的一些常用的例子

<html xmlns="http://www.w3.org/1999/xh
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)