Как интегрировать SQL с формами Windows? - PullRequest
0 голосов
/ 04 ноября 2011

У меня проблемы с мини-проектом.

Я должен проверить, соответствуют ли имя и пароль в текстовом поле TextBox базе данных SQL. Если пароль и имя совпадают с базой данных, пользователь будет переведен в другую форму. В противном случае отобразится сообщение об ошибке.

Прямо сейчас. Я не могу определить, соответствуют ли имя и пароль, введенные в тексте TextBox, базе данных SQL.

Я не использую привязку данных для этого проекта; это просто обычное приложение базы данных.

private void button2_Click(object sender, EventArgs e)
{
    if (PasswordtextBox1.Text == "")
    {
        MessageBox.Show("Error! Enter password !", "Warning");
    }
    else
    { 
        if (StaffUserIDcomboBox1.Text == "")
        {
            MessageBox.Show("Warning!");
        }

        string strSql = "Select UserLogin From UserLogin Where UserLoginID=" + int.Parse(StaffUserIDcomboBox1.Text);
        UserClass1 userClass = new UserClass1();
        SqlDataReader UserLogin_ID = userClass.GetUserID();

        userClass.executeDataCommand(strSql);

        int rowCount = 0;
        if (UserLogin_ID.HasRows)
        {
            while (UserLogin_ID.Read()) 
            {
                rowCount++;
            }

            DisplayLabel.Text = rowCount.ToString();
            UserLogin_ID.Close();

            //pass value to form2 if valid
            string userid = StaffUserIDcomboBox1.Text;
            parent.setCurentUser(userid);
        }
        else
        {
            MessageBox.Show("No Results Found! Please Try again!");
        }
    }  
}                

Ответы [ 2 ]

1 голос
/ 04 ноября 2011

Я не смог найти какой-либо код, который проверяет совпадение пароля в базе данных.Обычно у вас должен быть метод, который проверяет пользователя вместе с паролем, например

private bool ValidateUser(String UserName, string HashedPassword)
{
    //Use datareader etc to query
    // SQL Query
    string strSql = "Select UserLogin From UserLogin Where UserLoginID=" + UserName + " UserPassword = " + HashedPassword;
    //check for returned rows count
    //return true if found                
}
0 голосов
/ 04 ноября 2011

Поставьте BREAK; после кода messsagebox.show.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...