MSSQL自定义函数(过滤字符串)

80酷酷网    80kuku.com

  函数|字符串

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



分享到
  • 微信分享
  • 新浪微博
  • QQ好友
  • QQ空间
点击: