[C#] pobieranie danych z bazy Access

0

Witam

Mam problem z pobieraniem danych z konkretnej komórki tabeli w bazie mdb. Zadanie polega na tym aby z tabeli zawierające 3 kolumny: id, logi i hasło pobrać wartość hasła dla użytkownika o podanym loginie i sprawdzić czy jest ono takie samo jak hasło wpisane w textbox'ie.

Będę wdzięczny za wszelką pomoc.

0

Jeżeli masz z tym problem to by oznaczało, że coś już napisałeś .. może napisz nam co już masz?

0

nie zrobiłem zbyt wiele ponieważ mam tylko formatke z comboboxem gdzie wyświetlane są loginy wszystkich użytkowników pobierane z bazy. Do tego pole textbox na wpisanie hasła i dwa buttony: zaloguj i anuluj. Dane w comboboxie pobierane są za pomocą właściwości tzn nie pisałem sam żadnego kodu do tego. We właściwościach comboboxa skorzystałem z nowego bindingsource w którym wybrałem kolumnę login i hasło z tabeli a następnie w opcji DisplayMember ustawiam "login". W ten sposób pobierane są dane do ComboBoxa. Nie wiem teraz w jaki sposób pobrać z bazy hasło użytkownika zaznaczonego w CB aby móc je porównać z hasłem wpisanym w textboxie.

tak mniej więcej wygląda moja obecna sytuacja :)

0

Mam już rozwiązanie tego problemu. Wygląda ono następująco:

try
            {
                bool czyBylBlad = false;;
                OleDbConnection connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=test.mdb;User Id=admin;Password=;");
                connection.Open();
                OleDbCommand selectCommand = new OleDbCommand("SELECT haslo FROM userzy WHERE nazwa = '"+this.txtUser.Text+"'", connection);
                OleDbDataAdapter adapter = new OleDbDataAdapter(selectCommand);
                DataSet dataSet = new DataSet();
                adapter.Fill(dataSet);
                if (dataSet.Tables[0].Rows.Count == 1)
                {
                    if(dataSet.Tables[0].Rows[0][0].ToString()!=this.txtPass.Text) czyBylBlad = true;
                }
                else
                {
                    czyBylBlad = true;
                }

                if (czyBylBlad)
                {
                    MessageBox.Show("Podałeś nieprawidłowy login i/lub hasło!","Błąd",MessageBoxButtons.OK,MessageBoxIcon.Error);
                }
                else
                {
                               MessageBox.Show("Logowanie przebiegło pomyślnie.","Logowanie",MessageBoxButtons.OK,MessageBoxIcon.Information);
                }
                connection.Close();
            }
            catch (Exception exception2)
            {
                MessageBox.Show("ERR:"+exception2.Message);
            }

autorem kodu jest: morethanchaos
http://myspace.com/morethanchaos

Dzięki za pomoc :)

0
                if (dataSet.Tables[0].Rows.Count == 1)
                {
                    if(dataSet.Tables[0].Rows[0][0].ToString()!=this.txtPass.Text) czyBylBlad = true;
                }
                else
                {
                    czyBylBlad = true;
                }

po 'else' powinno chyba być false ;)

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1