zoukankan      html  css  js  c++  java
  • PetaPoco 访问SQL SERVER 存储过程

     博客园有篇文章《小巧方便的ORM类库——PetaPoco》  介绍了PetaPoco调用存储过程:

    //调用存储过程
    db.Execute("exec procSomeHandler @0, @1", 3, "2011-10-01");
    
    //调用带输出(OUTPUT)参数的存储过程, 写的sql语句,@0参数后的“output”是关键
    var param = new SqlParameter() { Direction = ParameterDirection.Output, SqlDbType = SqlDbType.Int };
    db.Execute("exec procSomeHandler @0 OUTPUT", param);

    下面再介绍介绍既有输入参数,又有输出参数的存储过程调用:
    假设有存储过程定义如下:
    CREATE PROCEDURE [dbo].[sp_pub_SerialNo_new]
     @SerialNoType varchar(30),  -- 需要得到编号的业务类型
     @Year int,     -- @Year ,@Month = 0 ,使用系统的日期
     @Month int,
     @SerialNo varchar(30) output

    //PetaPoco调用如下:

    //string Jobtype ,int iYear,int iMonth 设置初始值
    var param = new SqlParameter("SerialNo",SqlDbType.VarChar,30);
    param.Direction = System.Data.ParameterDirection.Output;
    DataContext _db = DataContextHelp.GetDataContextDefault();
    //调用存储过程得到一个业务编号
    var spResult = _db.Execute("EXEC sp_pub_SerialNo_new @SerialNoType,@Year,@Month,@SerialNo OUTPUT "
              , new { SerialNoType=JobType,Year= iYear,Month= iMonth,SerialNo= param });
    return param.Value.ToString(); //返回输出参数

    注意红色部分:
    1.声明一个输出参数
    2.SQL 语句部分添加OUTPUT
    3.参数列表里面传递param
    4.spResult 可以读取存储过程的返回值
  • 相关阅读:
    absolute之后居中宽度自适应
    定位网页元素(5)
    浮动(4)
    Android的方法和属性(1)
    Activity步骤
    JSP的指令
    边框和边距(3)
    计算机快件键
    字体、文本、背景、列表样式和超链接(2)
    c/s和b/s的区别
  • 原文地址:https://www.cnblogs.com/dongh/p/7115163.html
Copyright © 2011-2022 走看看