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代码:
///
/// 登录
///
///
///
///
///
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
("@res");//获取数据库输出的值
sqlHelper.closeSqlCon(Cons);
return res;
}