Mam mały problem. Mianowicie chodzi o to, że po stronie Servera bazy danych (Microsoft SQL Server 2005) mam tabelę Pracownicy. Po stronie aplikacji mam formę z Text Box-ami odpowiadającymi kolejno za login i hasło dla użytkownika. Do bazy łączę się jakimś "uniwersalnym loginem" który ma wgląd tylko na tą tabelę. Następnie próbuję odszukać w tabeli czy użytkownik o podanym loginie istnieje. Korzystam w tym celu z obiektu DataReader. Poniżej część kodu z którym mam problem.
...
SqlCommand cmd = conn.CreateCommand();
cmd.CommandText = "SELECT* FROM dbo.Pracownicy";
SqlDataReader dr = cmd.ExecuteReader();
while (dr.Read())
{
if (textBoxLogin.Text == dr.GetString(dr.GetOrdinal("login")))
{
if (textBoxHaslo.Text == dr.GetString(dr.GetOrdinal("haslo")))
{
if ((int)dr["uprawnienia"] == 0)
{
Application.Run(new Form_administrator());
conn.Close();
dr.Close();
Form_Logowanie.ActiveForm.Close();
}
else
{
Application.Run(new Form_uzytkownik());
conn.Close();
dr.Close();
Form_Logowanie.ActiveForm.Close();
}
}
}
}
MessageBox.Show("Niemożna znaleŹć uzytkownika o podanym loginie\nSprawdz czy podany login i hasło nie zawierają błędów ", "Uwaga!!", MessageBoxButtons.OK, MessageBoxIcon.Error);
dr.Close();
conn.Close();
problem polega na tym, że nigdy nie może odszukać użytkownika o podanym loginie i haśle zawsze wyświetla komunikat z ostatniego MessageBox-a.
Błagam o pomoc! Ja w tym nic źle nie widzę a pilnie potrzebuję prawidłowe rozwiązanie.