Проверка входа в систему из проверки таблицы sql - PullRequest
0 голосов
/ 29 января 2012

Я пытаюсь проверить имя пользователя и пароль, используя для каждого оператора.Если он проверяется, то появляется окно сообщения с надписью Welcome, если оно не отображается, сообщение «неправильный» будет появляться снова и снова, пока не закончится цикл по таблице.Как я могу исправить это и просто сделать так, чтобы он отображался один раз.Кроме того, когда он действительно проверяет, новое окно будет отображаться с именем пользователя и фамилией в текстовом поле. Как я могу отредактировать информацию о пользователе и затем сохранить ее в БД.Спасибо за любую помощь.

       Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click

    Dim data As New datalinq1DataContext

    For Each row In data.Users
        If Not row.username = TextBox1.Text And Not row.password = TextBox2.Text Then
              Messagebox.Show("Incorrect")
        Else
            MessageBox.Show("Welcome " + row.fname + " " + row.lname)
            Dim window As New Window1
            window.TextBox1.Text = row.fname
            window.TextBox2.Text = row.lname
            window.TextBox3.Text = row.username

            window.Show()
            Exit For
        End If

    Next


End Sub

Ответы [ 2 ]

2 голосов
/ 29 января 2012

Вы можете добавить EXIT FOR после поля сообщения, но почему в пользовательской таблице проверяется несколько записей? Вам следует отфильтровать таблицу пользователей только по введенному имени пользователя.

0 голосов
/ 30 января 2012

Зацикливание на каждом пользователе в таблице мгновенно вызовет проблемы с производительностью.

Вместо использования foreach попытайтесь выяснить, почему вы не можете получить доступ к подходящим методам расширения LINQ. У вас есть ссылки System.Linq и System.Data.Linq ?

Правильный способ проверки пользователя с соответствующим именем пользователя и паролем:

var potentialUser = data.Users
                          .SingleOrDefault(user => 
                              user.Username == userName && 
                              user.Password = passWord
                          ); 

if(potentialUser != null)
    Messagebox.Show("Welcome")
else 
    Messagebox.Show("Incorrect")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...