zoukankan      html  css  js  c++  java
  • NHibernate 执行存储过程

    前置条件:

               已经获取了ISession类型的对象:  this._session
               已经建立一个存储过程: proc_name,
               该存储过程有两个参数:

                         para1:varchar 类型,传入参数
                         para2:number类型,传出参数

                int result = 0;
                IDbCommand cmd = this._session.Connection.CreateCommand();
                cmd.CommandText = "proc_name";
                cmd.CommandType = CommandType.StoredProcedure;
                this._session.Transaction.Enlist(cmd);   //用于事务,如果在一个NHibernate本地事务中执行存储过程,

                                                                      //需用这个事物初始化一下IDbCommand ,从而把这个IDbCommand 对象加入到事务处理中

                IDbDataParameter parameter = cmd.CreateParameter();
                parameter.ParameterName = "para1";
                parameter.DbType=DbType.String;
                parameter.Value = so;
                cmd.Parameters.Add(parameter);

                IDbDataParameter pararesult= cmd.CreateParameter();
                pararesult.ParameterName = "para2";
                pararesult.Direction = ParameterDirection.Output;
                pararesult.Value = result;
                cmd.Parameters.Add(pararesult);

                cmd.ExecuteNonQuery();
                return result;

  • 相关阅读:
    黑盒测试方法用例设计详解
    跨域
    HTTP Referer
    Java抽象类和接口
    深入理解Java垃圾回收机制
    Java异常处理机制
    hash
    JUint4的下载、配置及对一个算法编写单元测试用例(测试多组数据每组多个参数)
    get和post的区别
    Mac 文档阅读软件Dash软件破解版
  • 原文地址:https://www.cnblogs.com/fromchaos/p/1692178.html
Copyright © 2011-2022 走看看