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;