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
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;
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;