Chinaunix首页 | 论坛 | 博客
  • 博客访问: 18671271
  • 博文数量: 7460
  • 博客积分: 10434
  • 博客等级: 上将
  • 技术积分: 78178
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-02 22:54
文章分类

全部博文(7460)

文章存档

2011年(1)

2009年(669)

2008年(6790)

分类: 数据库开发技术

2008-05-28 15:19:47

Create FUNCTION f_checkString(@temp varchar(4000))
--f_checkString为方法名
--@temp为参数名 varchar为参数类型 4000为类型长度
--过滤SQL字符串
RETURNS varchar(4000)
--返回类型为varchar长度为4000
AS
BEGIN
 set @temp=replace(@temp,'''','')
 set @temp=replace(@temp,'"','')
 set @temp=replace(@temp,':','')
 set @temp=replace(@temp,'-','')
 return @temp
END

--------------------------------------------------------------------------------------------
在MSSQL中存储过程中调用方法如下:

--判断用户名和密码是否正确
--exec sp_CheckUser
--2006-8-2
--dzend.com
Create PROCEDURE sp_CheckUser
@username   varchar(20),   --用户名
@password   varchar(20)   --密码
as
declare
@str    varchar(20),
@result    int,
@status    int

--过滤非法字符串
select @username=dbo.f_checkString(@username)
select @password=dbo.f_checkString(@password)



select @str=[password],@status=status from usersInfo where username=@username
if @@rowcount=0
 set @result=-1    --用户名错误
else
begin
 if @status=1
  set @result=-3   --帐号被锁定
 else
 begin
  if @str=@result
   set @result=0   --登陆成功
  else
   set @result=-2   --密码错误  
 end
end
select @result
GO

阅读(302) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~