http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 3021|回复: 0

[Winform] C#怎么读取Sql存储过程的Return返回值和OutPut参数

[复制链接]
发表于 2013-5-6 15:44:34 | 显示全部楼层 |阅读模式
如果是读取类似是这种的看过程
[code=sql]
ALTER PROCEDURE test
(
  @User int,
  @Id int
)
AS
BEGIN
-------
RETURN @@IDENTITY;
END[/code]
如果只是使用Sql语句调用是这样的
[code=sql]DECLARE  @return_value int

EXEC  @return_value =test
    @User = 1,
    @Id = 2,

SELECT  'Return Value' = @return_value[/code]
C#里的调用方法如下
[code=csharp]  SqlParameter[] parm = new SqlParameter[]
                    {
                        new SqlParameter("@User",SqlDbType.Int,8),
                        new SqlParameter("@Id",SqlDbType.Int,8),
                        new SqlParameter("@RETURN_VALUE",SqlDbType.Int)
                    };
            parm[0].Value = "2";
            parm[1].Value = "5";
            parm[2].Direction = ParameterDirection.ReturnValue;
            SqlHelper.ExecuteNonQueryProducts("test", parm);
            return Convert.ToInt32(parm[2].Value);[/code]
其实关键在于这一步,如果你要接收Out参数的话可以这样写
ParameterDirection.Output
这个类如下大家可以自己设置
[code=csharp] // 摘要:
    //     指定查询内的有关 System.Data.DataSet 的参数的类型。
    public enum ParameterDirection
    {
        // 摘要:
        //     参数是输入参数。
        Input = 1,
        //
        // 摘要:
        //     参数是输出参数。
        Output = 2,
        //
        // 摘要:
        //     参数既能输入,也能输出。
        InputOutput = 3,
        //
        // 摘要:
        //     参数表示诸如存储过程、内置函数或用户定义函数之类的操作的返回值。
        ReturnValue = 6,
    }[/code]



1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-17 19:05

© 2014-2021

快速回复 返回顶部 返回列表