2015-01-12 50 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()。