create function f_checkstring(@temp varchar(4000)) 
--f_checkstring為方法名
[email protected]為參數名 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 [email protected]
if @@rowcount=0
 set @result=-1    --用戶名錯誤
else
begin
 if @status=1
  set @result=-3   --帳號被鎖定
 else
 begin
  if @[email protected] 
   set @result=0   --登陸成功
  else
   set @result=-2   --密碼錯誤  
 end
end
select @result
go
新聞熱點
疑難解答