у меня была путаница с моим кодом:Проверка учетных данных из базы данных
Dim sqladapter As SqlDataAdapter = New SqlDataAdapter()
Dim sqlcmd As SqlCommand = New SqlCommand()
sqlcmd = New SqlCommand("SELECT login, pass from Table1 where login=" & login.Text & "and pass='" & password.Text.ToString() & "';", connect)
Dim dr As SqlDataReader = sqlcmd.ExecuteReader()
Dim dt As DataTable = New DataTable()
dt.Load(dr)
If (dt.Rows.Count = 1) Then
'Display welcome page or do some action here.
Теперь мой вопрос, есть ли другой способ сделать Rows.Count == 1. Я чувствую, что это очень неправильно и не имеет смысла.
Как вы проверяете из базы данных, что пользователь имеет только одну действительную запись в таблице, отличную от подсчета строк.
Заранее спасибо :)
(Пожалуйста, спросите меня, прежде чем сообщать вопрос)
http://stackoverflow.com/questions/332365/how-does-the-sql- инъекции из-bobby-tables-xkcd-comic-work – Plutonix
Ваш код уязвим для инъекций, вы должны использовать [параметризованные запросы] (http://stackoverflow.com/questions/542510/how-do-i- Create-A-параметризированный-SQL-запрос-почему-РЕКОМЕНДУЕМЫМ-I). –
Я думаю, что инъекция - это не единственная проблема, если вы храните незашифрованные пароли ... –