zoukankan      html  css  js  c++  java
  • NHibernate1.2存储过程使用

    ISession 对象 session

    IQuery query=session.GetNamedQuery("存储过程名")

    在实体映射文件(.xml文件)写明调用细节(写在任何被映射的实体映射文件都可 即<sql-query>...</sql-query>)

    如果有返回值要写明返回值!

    例:

    <!--proc_query_allroomtype存储过程名-->

    <sql-query name="proc_query_allroomtype" >
        <return alias="roomType" class="HotelManage.Models.RoomType, HotelManageModels" ></return>
        exec proc_query_allroomtype
      </sql-query>

    返回对象集合query.List<Type type>();

    也可返回List获object[]  例:

    <sql-query name="proc_demo1" >
       <return-scalar column="colA" type="int"/>
        <return-scalar column="colB" type="int"/>    exec proc_query_allroomtype
      </sql-query>

    <!--colA数据库表列名-->

    <!--number 是该存储过程的输入参数-->

    <sql-query name="ScalarSProcs">
      <
    return-scalar column="value" type="int"/>
      <
    return-scalar column="name" type="string"/>
     
    exec scalarSProcs :number,:value或exec scalarSProcs :?,?

    或exec scalarSProcs :number,?
    </sql-query>

    <!--调用-->

    _session.GetNamedQuery("ScalarSProcs")
            .SetInt32("number", 6).SetString("value").List();

    也可不写在配置文件中 直接调用存储过程

    例如:

       ISQLQuery query = Session.CreateSQLQuery("exec query_unitByName ?,?");
               query.AddScalar("unitname", NHibernateUtil.String);
               query.SetString(0, unitName);
               query.SetInt32(1, count);
               return query.List<string>();

     


  • 相关阅读:
    Zend Studio下调试PHP的一点注意事项
    使用FTP出现中文乱码解决方案
    C++数据类型与C#对应表
    FineUI 开发B/S系统
    c#调用带输出参数的存储过程
    经典FormsAuthenticationTicket 分析
    C# Oracle数据库操作类实例详解
    如何使用C#的Hashtable[哈希表]
    对三层架构的理解
    C# 最简单的三层架构实例 ——转载自网易博客
  • 原文地址:https://www.cnblogs.com/zhangqifeng/p/1419010.html
Copyright © 2011-2022 走看看