2015-01-12 51 views
0

除了稍后我会列出的几行代码的样式外,为什么此检查会导致不区分大小写?SQL查询结果集不区分大小写

conn.Open(); 
string checkUser = "Select count(*) from Tb_Registration Where Username= '" + txtUser.Text + "'"; 
SqlCommand com = new SqlCommand(checkUser, conn); 
int temp = Convert.ToInt32(com.ExecuteScalar().ToString().Trim()); 
conn.Close(); 

在DB我有“用户1”,在一个varchar列,但仍温度的值是1,如果我检查“USER1”或“用户1”。如果我检查“用户”,它是0。

+3

显然,你可以使用'COLLATE'来强制灵敏度。 – DonBoitnott

+0

你有用户名'user'的记录吗?搜索病例的敏感性取决于您正在搜索的列的排序规则。 –

+0

@DonBoitnott谢谢,解决了这个问题。 – FeliceM

回答

0

检查您的整理。任何二进制排序规则都将区分大小写。拉丁将军斌就是一个例子。如果需要匹配大小写,可以随时调用ToLower()或ToUpper()。