C# wyświetlanie danych z bazy za pomocą kontrolki GridView

Zadanie

Wyświetl w kontrolce „GridView” dane z bazy (listę kategorii)

Rozwiązanie

Dla wyjaśnienia dodam, że mam przygotowaną tabelę w bazie o nazwie „Kategorie” która zawiera pola „KategoriaId” i „KategoriaNazwa”. Dane z tej tabeli chcemy wyświetlić w kontrolce „GridView”

Ustawiamy połączenie z domyślną bazą danych w naszym projekcie.
string CS = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
SqlConnection connection = new SqlConnection(CS);

Tworzymy obiekt typu SqlDataAdapter który pomoże nam wysłać zapytanie SQL do naszej bazy
SqlDataAdapter daKategorie =
new SqlDataAdapter("SELECT KategoriaId, KategoriaNazwa FROM Kategorie",connection);

Tworzymy obiekt typu DataSet gdzie będziemy przechowywali dane pobrane z bazy
DataSet dsKategorie = new DataSet();

Wypełniamy obiekt DataSet danymi za pomocą obiektu SqlDataAdapter gdzie jest przechowywane zapytanie do bazy
daKategorie.Fill(dsKategorie);

Wypełniamy danymi kontrolkę „GridView”
GridView1.DataSource = dsKategorie.Tables[0];
GridView1.DataBind();

Możemy jeszcze zliczyć zwróconych rekordów w zapytaniu i wyświetlić tą ilość w etykiecie
int LiczbaRekordow = dsKategorie.Tables[0].Rows.Count;
Label1.Text = Convert.ToString(LiczbaRekordow);

Cały kod


string CS = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
SqlConnection connection = new SqlConnection(CS);
SqlDataAdapter daKategorie =
new SqlDataAdapter("SELECT KategoriaId, KategoriaNazwa FROM Kategorie",connection);
DataSet dsKategorie = new DataSet();
daKategorie.Fill(dsKategorie);
int LiczbaRekordow = dsKategorie.Tables[0].Rows.Count;
GridView1.DataSource = dsKategorie.Tables[0];
GridView1.DataBind();
Label1.Text = Convert.ToString(LiczbaRekordow);