MySQL中SELECT语句的区分大小写

时间:2013-12-16 02:21:42

标签: mysql vb.net

例如:

database username:       | textbox.text
Woods                    |  woods

如果vb.net中textbox.text中的输入字符必须与数据库用户名中的值完全相同,我想创建一个错误。

here is my sample code in login:
 sqlcmd = New MySqlCommand("SELECT uname FROM staff WHERE uname='" & textbox.Text & "'", connecthost)

2 个答案:

答案 0 :(得分:3)

你可以使用BINARY,检查一下:

SELECT *  FROM `table` WHERE BINARY `columnName` = 'x'

试试这个:

sqlcmd = New MySqlCommand("SELECT uname FROM staff WHERE BINARY uname='" & textbox.Text & "'", connecthost)

你也可以使用LOWER,检查一下:

SELECT uname FROM `staff` WHERE LOWER(`uname`) = LOWER('" & textbox.Text & "')

您也可以使用COLLATION,阅读here

答案 1 :(得分:2)

我会非常喜欢damienc88的所作所为。我唯一不同的是不会引发错误。但是,如果存在异常,则返回代码大于0.因此,您要小心返回SQL错误,因为这是错误还是返回的行之间存在歧义。

如果你找不到任何东西,只需返回-1。

Plus SQL不区分大小写。所以你不必担心里面的木头或树林。