-- 验证登录用户的用户名和密码
-- 输入参数:用户名 和 密码
-- 输出参数:无
ALTER PROCEDURE ValidateUser_Pass
(
--定义固定变量
@User nvarchar(50),
@Password nvarchar(20)
)
AS
--定义临时变量DECLARE @Str nvarchar(4000)
Set @Str='SELECT * FROM HB_User WHERE (UserPassword = '''+CAST(@Password AS varchar(50))+''' AND UserName = '''+CAST(@User AS varchar(20))+'''
EXEC sp_ExecuteSql @Str
RETURN
-- 输入参数:用户名 和 密码
-- 输出参数:无
ALTER PROCEDURE ValidateUser_Pass
(
--定义固定变量
@User nvarchar(50),
@Password nvarchar(20)
)
AS
--定义临时变量DECLARE @Str nvarchar(4000)
Set @Str='SELECT * FROM HB_User WHERE (UserPassword = '''+CAST(@Password AS varchar(50))+''' AND UserName = '''+CAST(@User AS varchar(20))+'''
EXEC sp_ExecuteSql @Str
RETURN
因为这样可以用 1'or '1'='1作为通用密码登陆的,
在SQL中若在字符串中包括'的话,因为'在SQL有特定用途,故必须特殊处理,用'''表示