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返回值 复制代码代码如下: //存储过程 ...
  • ycl295644
  • ycl295644
  • 2015年05月21日 08:57
  • 2367

C#调用存储过程带输出参数或返回值

CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(8), @studentname nvarchar(50) OUTPUT AS BE...
  • smartsmile2012
  • smartsmile2012
  • 2014年05月26日 14:02
  • 18874

SQL Server存储过程Return、output参数及使用技巧

SQL Server存储过程Return、output参数及使用技巧 SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Ser...
  • tlammon
  • tlammon
  • 2016年03月25日 16:24
  • 1001

关于BAT(CMD命令行批处理)如何获得返回值(进程退出码)的问题

在很多情况下,我们运行批处理只是执行一个例程,比如cls 然而在某些情况下,我们需要知道程序执行的确切结果,比如安装补丁,驱动等等 在WIN32编程中,可以使用CreateProcess得到进...
  • prsniper
  • prsniper
  • 2016年01月09日 20:34
  • 7685

对yield return的理解

在学习unity3d的时候很容易看到下面这个例子: 1 void Start () { 2 StartCoroutine(Destroy()); 3 } 4 5 IEnumerat...
  • zzmkljd
  • zzmkljd
  • 2016年05月24日 22:21
  • 414

C# 编写命令行交互工具——实时输出_获取执行结果

我们在写程序的时候通常会用到命令行工具。 如Ping 某个网段,写个注册表,启动项,或者感谢其他坏事。 在网上查了一下,多数都说用C# 做命令行交互需要做很多很多的逻辑处理。那么今天博主也来写一个简单...
  • u013151336
  • u013151336
  • 2016年05月03日 08:22
  • 4636

返回类型和return语句

return语句中之当前正在执行的函数,并将控制权返回到调用该函数的地方 无返回值函数 没有返回值的return语句只能用在返回类型是void的函数中,返回void的函数不要求非得有return语句,...
  • st125475466
  • st125475466
  • 2015年09月14日 15:08
  • 2561

【C#】44. Task<T> 根据带返回值的函数构造Task

上篇中,我们看了不带参数值和返回值的函数(Action)构造Task的方法,本篇中我们想Thread一样,看看如何给Task传参和返回值。 首先定义int TaskMethod(String)函数,...
  • huiwuhuiwu
  • huiwuhuiwu
  • 2016年12月11日 21:23
  • 8487

shell 脚本中获取命令的输出

shell脚本中获取命令执行返回值需要注意的地方
  • haiqinma
  • haiqinma
  • 2016年12月15日 17:47
  • 12349

.Net (C#)委托和事件(获取多个返回值)

From: http://www.xuebuyuan.com/841530.html 在讲如何获取多个返回值之前先来看一个小例子:           private v...
  • JoeBlackzqq
  • JoeBlackzqq
  • 2017年06月21日 15:24
  • 798
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#获取存储过程的Return返回值和Output输出参数值
举报原因:
原因补充:

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