分类: 数据库开发技术
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