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
新闻热点
疑难解答