Freesql中使用存储过程

6 篇文章 3 订阅
4 篇文章 0 订阅

Freesql中使用存储过程

public string SqlStoredProcedure(string guid, string Userid, string Erpin_id, string Flag_force)
        {
            DbParameter out1 = null; DbParameter out2 = null; DbParameter out3 = null; DbParameter out4 = null; DbParameter out5 = null; DbParameter out6 = null;
            DbParameter out7 = null; DbParameter out8 = null; DbParameter out9 = null; DbParameter out10 = null; DbParameter out11 = null; DbParameter out12 = null;
            DbParameter out13 = null; DbParameter out14 = null; DbParameter out15 = null; DbParameter out16 = null; DbParameter out17 = null; DbParameter out18 = null;
            DbParameter out19 = null; DbParameter out20 = null; DbParameter reason = null; 
            var sadasd2=_fsql.Ado.CommandFluent("sp_rf_in_close_ordno")
                .CommandType(CommandType.StoredProcedure)
                .CommandTimeout(60)

                .WithParameter("@guid", guid)
                .WithParameter("@in1", Userid)
                .WithParameter("@in2", Erpin_id)
                .WithParameter("@in3", Flag_force)
                .WithParameter("@in4", null)
                .WithParameter("@in5", null)
                .WithParameter("@in6", null)
                .WithParameter("@in7", null)
                .WithParameter("@in8", null)
                .WithParameter("@in9", null)
                .WithParameter("@in10", null)
                .WithParameter("@out1", 500, p =>
                {
                    out1 = p; //Output 参数
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out2", 500, p =>
                {
                    out2 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out3", 500, p =>
                {
                     out3 = p;
                     p.DbType = DbType.String;
                     p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out4", 500, p =>
                {
                    out4 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out5", 500, p =>
                {
                    out5 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out6", 500, p => 
                {
                    out6 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out7", 500, p => {
                    out7 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out8", 500, p =>
                {
                    out8 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out9", 500, p =>
                {
                    out9 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out10", 500, p =>
                {
                    out10 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out11", 500, p => 
                {
                    out11 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out12", 500, p =>
                {
                    out12 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out13", 500, p =>
                {
                    out13 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out14", 500, p =>
                {
                    out14 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out15", 500, p =>
                {
                    out15 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out16", 500, p =>
                {
                    out16 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out17", 500, p =>
                {
                    out17 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out18", 500, p =>
                {
                    out18 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out19", 500, p =>
                {
                    out19 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@out20", 500, p =>
                {
                    out20 = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .WithParameter("@reason", 500, p=> 
                {
                    reason = p;
                    p.DbType = DbType.String;
                    p.Direction = ParameterDirection.Output;
                })
                .ExecuteDataTable();
            var fanhui = reason.Value;
            return (string)fanhui;
        }

拿代码块来说一下是怎么样用的,这个在Freesql的官网上也有写用法。
官方实例:

DbParameter p2 = null;
fsql.Ado.CommandFluent("dbo.GetICMaxNum")
    .CommandType(CommandType.StoredProcedure)
    .CommandTimeout(60)

    .WithParameter("TableName", "tb1")
    .WithParameter("FInterID", null, p =>
    {
        //(p as OracleParameter).OracleType = ...;
        p2 = p; //Output 参数
        p.DbType = DbType.Int32;
        p.Direction = ParameterDirection.Output;
    })
    .ExecuteNonQuery(); //.Query<T>() 或者 .ExecuteDataTable() 或者 ...

Console.WriteLine(p2.Value);

上面是输入参数,我这边是通过传值来当输入参数的,这个没什么问题。当时我是在百度上找的代码,输出参数并没有得到接收,所以一直在报错,后来翻了一下官网找到了上述写法。
这边有个问题需要注意一下,我们这边接收存储过程的返回值,是个object类型,取不到报错信息提示,于是我这边直接改动的存储过程,在所有的报错提示前都加了序号,然后在后端代码里对取到的序号进行判断。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本方法。编译原理不仅是计算机科学理论的重要组成部分,也是实现高效、可靠的计算机程序设计的关键。本文将对编译原理的基本概念、发展历程、主要内容和实际应用进行详细介绍编译原理是计算机专业的一门核心课程,旨在介绍编译程序构造的一般原理和基本

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风偷吻云朵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值