首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包

C#与.NET技术联盟 [加入]

深度研究讨论C#中当今社会常用的技术(如与SQL结合,C#网络编程,与AJAX结合,与XML结合等)。
C#获取存储过程的Return返回值和Output输出参数值的几种方法总结
发表时间:2008-06-08 23:49:58   楼主:fatbear007
1
SqlConnection cn = new SqlConnection("server=.;uid=sa;pwd=;database=Demo");
SqlCommand cmd = new SqlCommand("你的存储过程名", cn);
cmd.CommandType = CommandType.StoredProcedure;
//下面添加的输出参数名字和存储过程应该一样
cmd.Parameters.Add("@outputParam", SqlDbType.Int);
cmd.Parameters["@outputParam"].Direction = ParameterDirection.Output;
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
object o =  cmd.Parameters["@outputParam"].Value;

2

类似于如下的样子:

SqlParameter para = new SqlParameter("@paraName", SqlDbType.Int);
para.Direction = ParameterDirection.Output;

command.Exe...
object objValue = para.Value;

3

C#获取存储过程的Return返回值和Output输出参数值
作者:dnawo 日期:2008-04-10
字体大小:  
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());

 

--------学习体会

1,创建带有返回值的存储过程

select * from cdlist

drop proc pro_int

create procedure pro_int

as

    return 6;

    return 4;--注意是对的

go

 

declare @i int

exec @i=pro_int

print @i           (执行将打印6)

2





本贴于:
2008-06-08 23:52:31 被【fatbear007】修改
 
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|版权声明|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo