在登录期间使用sql server验证asp.net中的区分大小写的密码

5 sql-server asp.net sql-server-2005 sql-server-2008 c#-4.0

返回成功

Dim user = "ravi"
        Dim pass = "admin"
        objcmd.CommandText = "Select * from ADMIN_INFO where ADMIN_ID='" & user & "' and ADMIN_PASS='" & pass & "'"
Run Code Online (Sandbox Code Playgroud)

返回成功

Dim user = "ravi"
        Dim pass = "ADMIN"
        objcmd.CommandText = "Select * from ADMIN_INFO where ADMIN_ID='" & user & "' and ADMIN_PASS='" & pass & "'"
Run Code Online (Sandbox Code Playgroud)

执行查询后,两者都返回成功,如表中所示ravi并且admin可用.那么,我该如何检查区分大小写.需要帮忙 !!

Pan*_*kaj 2

CREATE TABLE #temp
(
    Password Varchar(2)
)
insert into #temp values('a')
Run Code Online (Sandbox Code Playgroud)

第一种方法

select Password  from #temp Where Password COLLATE Latin1_general_CS_AS  = 'A' 
select Password  from #temp Where Password COLLATE Latin1_general_CS_AS  = 'a' 
Run Code Online (Sandbox Code Playgroud)

第二种方法

select Password  from #temp Where cast(Password as varbinary(2))  = cast('A' as varbinary(15)) 
select Password  from #temp Where cast(Password as varbinary(2))  = cast('a' as varbinary(15)) 
Run Code Online (Sandbox Code Playgroud)
drop table #temp
Run Code Online (Sandbox Code Playgroud)