dapper存储过程输出值

来源:互联网 发布:荒蛮故事 知乎 编辑:程序博客网 时间:2024/05/18 01:28
 SQL代码:
    USE [Book]
GO
/****** Object:  StoredProcedure [dbo].[User_Maneger]    Script Date: 10/26/2013 18:48:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO


/*用户信息存储过程*/
ALTER PROCEDURE [dbo].[User_Maneger]
@MID   varchar(10),--等同于用户名
@MName varchar(10)=null,--用户的名称
@MSex  varchar(2)=null,
@Mpwd  varchar(40),
@MAuth varchar(40),
@MTeleph varchar(15)=null,
@MAddre varchar(30)=null,
@cmd varchar(50),/*执行的增删改差的状态*/
@res int=0 output /*输出函数,初始化为0,表示执行失败*/
as
begin
--定义一个计数器
declare @count int


if @cmd='insert'--插入数据
begin
insert into Maneger
values(@MID , @MName ,@MSex  ,@Mpwd  ,@MAuth ,@MTeleph ,@MAddre);
set @res=1
end


if @cmd='update'--跟新数据
begin
update Maneger set MName=@MName,
MSex=@MSex,
Mpwd=@Mpwd,
MAuth=@MAuth,
MTeleph=@MTeleph,
MAddre=@MAddre
where Maneger.MID=@MID
set @res=1
end


if @cmd='delete'--删除数据
begin
delete from Maneger where MID=@MID
set @res=1
end


if @cmd='login'--用户登录
begin
set @count=(select COUNT(*) from Maneger where MID=@MID and Mpwd=@Mpwd)
if @count>0
set @res=1
set @res=0
end


if @cmd='check'--检测用户存在
begin
set @count=(select COUNT(MID) from Maneger where MID=@MID)
if @count>0
--用户存在
set @res=1
set @res=0
end
end




cs代码:
     /// <summary>
        /// 登录
        /// </summary>
        /// <param name="userName"></param>
        /// <param name="passWd"></param>
        /// <param name="role"></param>
        /// <returns></returns>
        public int getUser(string userName, string passWd, string role)
        {
            SqlConnection Cons = sqlHelper.getSqlCon();
            var parems = new DynamicParameters();//建立一个parem对象
            parems.Add("@MID", userName);
            parems.Add("@Mpwd",Md5Helper.getEntryString(passWd));//密码md5加密
            parems.Add("@MAuth", role);
            parems.Add("@cmd", "login");
            parems.Add("@res",0,DbType.Int32, ParameterDirection.Output);//输出返回值
            //注意 parems.Add("@res",ParameterDirection.Output);//这样写返回值可能会出错,切记!!!
            SqlMapper.Execute(Cons, "User_Maneger", parems, null, null, CommandType.StoredProcedure);
            int res = parems.Get<int>("@res");//获取数据库输出的值
            sqlHelper.closeSqlCon(Cons);
            return res;
        } 
0 0
原创粉丝点击