C# SQL查询结果集不区分大小写

C# SQL查询结果集不区分大小写,c#,sql,C#,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()

除了我稍后将整理的这几行的样式之外,为什么这个检查不区分大小写

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中,我在
varchar
列中有“User1”,但如果我选中“User1”或“User1”,temp的值仍然是1。如果我选中“user”,它是0。

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

显然,您可以使用
COLLATE
强制敏感度。;您是否有用户名为
user
的记录?搜索的案例的敏感性取决于所搜索列的排序规则。@DonBoitnott谢谢,这解决了问题。@DrewKennedy出于测试目的,我有一个“用户”。没有在数据库级别设置任何排序规则。AFAIK T-SQL通常不区分大小写。“User1”=“User1”=“User1”,除非另有规定。