zoukankan      html  css  js  c++  java
  • NHibernate 之调用存储过程

    1,创建存储过程:
    --创建一个登陆的存储过程,
    if exists(select name from sys.sysobjects where name='LoginProc')
     
    drop procedure LoginProc
    go
    create procedure LoginProc(@name varchar(100),@password varchar(100))
    as
     
    if exists(select u.Name from dbo.MSUser u where u.Name=@name and u.Password=@password)
        
    --着重注意,返回的列名为value ,值为 1 或者是 0
        select 1 as value
    else
        
    select 0 as value

    2,修改user.hbm.xml,注意是在class 之后,名称为随便定义, 返回值为value ,类型为long
    </class>
      <sql-query name="LoginProceure">
        <return-scalar column="value" type="long"/>
        exec LoginProc ?,?
      </sql-query>
    </hibernate-mapping>
    3. 执行存储过程

     #region 执行存储过程
            
    public IList ExecuteProcedure(string spName,string name,string pwd)
            {
                IList result 
    = new ArrayList();
                
    try
                {
                   
    return Session.GetNamedQuery(spName).SetString(0,name).SetString(1,pwd).List();
                }
                
    catch (Exception ex)
                {
                    
    throw ex;
                }
                
    finally
                {
                    Session.Flush();
                }
            }
            
    #endregion
            
             
    object obj= il[0];
                
    if(obj.ToString()=="1")
                    
    return true;
                
    else
                    
    return false;


  • 相关阅读:
    二维数组最大关联子数组
    四则运算(终极版)
    最大子数组
    四则运算(三) 记录日志
    四则运算(三)
    四则运算记录日志
    四则运算(二)
    简单web四则运算出题
    Daily Scrum
    Daily Scrum
  • 原文地址:https://www.cnblogs.com/csharponworking/p/2046136.html
Copyright © 2011-2022 走看看