Łączenie się z bazą danych i pobieranie danych

0

Witam,

Piszę obecnie taki większy programik i potrzebuję połączyć się z bazą danych. Połączenie jest pomyślne, czy ktoś mógłby mi powiedzieć jak wyciągnąć te dane w takiej formie abym mógł je później analizować albo wykorzystać w instrukcjach warunkowych.

To jest fragment kodu:


            conString = new SqlConnectionStringBuilder();
            conString.DataSource = @"TU WPISUJE DANE Z SQL";        // Nazwa z SQL
            conString.InitialCatalog = "NAZWA BAZY";                // Nazwa bazy z SQL
            conString.IntegratedSecurity = true;                   // Jeśli łączymy się przez Windows Authentication
                       

            connect = new SqlConnection(conString.ConnectionString);
            connect.Open();

            string querryForPassword = "SELECT login from Access_Data";
            command = new SqlCommand(querryForPassword, connect); 

/*Tu się pojawia problem co dalej, bo chciałem użyć ExecuteReader(), który mi przekaże to wszystko do obiektu DataReader, ale nie wiem co dalej jak odczytać te dane np. żeby były typu string. 

Tam w tej tabeli jest zbiór loginów, które są typu nchar, jak zrobić aby sprawdzić czy Login z bazy danych pasuje do loginu, który wprowadził użytkownik do textboxa w interfejsie stworzonym w WPF?*/

            connect.Close();

Czy ktoś mógłby mi polecić tutorial/książkę poświęconą do łączenia się, pobierania danych z baz danych SQL Server? Wiem, że jest do tego używana technologia ADO.NET ale jednak mało książek poświęconych ADO.NET, mnóstwo jest natomiast poświęconych LINQ?

Czego warto się uczyć aby opanować łączenie się z bazą danych aby tworzyć programy, które przetwarzają te dane i na powrót odsyłają zmienione do bazy danych?

0

Brakuje Ci czegoś co nazywa się "executenonquery". Poszukaj, poczytaj, a potem poczytaj.

0

ExecuteNonQuery przecież jest metodą którą się stosuje zamiast ExecuteReader a trzecia z tych metod to ExecuteScalar.

Bez sensu używać ExecuteNonQuery bo on mi wyświetla liczbę rekordów, które SQL pokazał a mi chodzi o zawartość

1

Nie, ExecuteNonQuery zwraca tylko ilość zmodyfikowanych rekordów, stosowane jest to w insert, delete, update
ExecuteScalar stosowane jest kiedy chcesz pobrać tylko jedną wartość a ExecuteReader dla selecta pobierającego wiele rekordów.

W twoim przypadku musisz użyć ExecuteReader tak jak podałem w linku powyżej, lub użyć adaptera, lub najlepiej chyba ogarnąć jakiegoś ORMa wtedy będziesz to wyciągał za pomocą LINQ, np EntityFramework

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