Связь между базой данных Oracle и C # - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь создать простую страницу входа в систему с визуальной студийной формой выигрыша. У меня есть имя пользователя и пароль в качестве текстовых элементов управления.

вот событие, которое должно проверить, есть ли такой пользователь в базе данных:

if (con.State != ConnectionState.Open)
        {
            con.Open();
        }
        OracleCommand cmd = con.CreateCommand();
        cmd.CommandText = "select staff_username, staff_password from staff_accounts";
        cmd.CommandType = CommandType.Text;
        OracleDataReader dr = cmd.ExecuteReader();
        while (dr.Read())
        {
            if (dr.HasRows)
            {
                if (username.Text == dr["staff_username"].ToString() && pass.Text == dr["staff_password"].ToString())
                {
                    admin.ShowDialog();
                }
                else
                {
                    label1.Text = "Error";
                }
            }
        }

dr.HasRows возвращает false, поэтому это означает, что cmd.CommandText = "select staff_username, staff_password from staff_accounts"; не возвращает строк, но в моей базе данных тот же запрос работает нормально.

любая помощь будет оценена.

1 Ответ

0 голосов
/ 14 марта 2019

Вы должны проверить свойство HasRows перед вызовом метода reader Read().Попробуйте:

 if (dr.HasRows)
 {
   while (dr.Read())
   {
     ....
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...