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
使用MSSQL自定义函数过滤字符串
原创文章如转载,请注明:转载自悠悠博客 [ http://www.ajaxstu.com/ ]
相关文章:
- SQLServer2005数据库还原到SQLServer2000(2007-11-20 4:29:0)
- MSSQL Server中DATETIME类型数据的处理(2007-11-18 9:6:4)
- mssql转移到word(2007-11-15 1:42:20)
- join 方式(2007-11-11 8:59:26)
- 数据库设计的折衷(2007-10-14 9:4:0)
- sql server 如何复制数据库结构(2007-9-10 3:28:20)
- 堵死SQLServer注入漏洞(2007-9-8 1:27:12)
- SQL Server 连接基础知识(2007-9-1 11:45:42)
- 生成测试数据 T-SQL系列(2007-8-17 11:43:20)
- SQL SERVER优化建议(2007-8-1 1:35:11)
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
