C# Academy · Lekcja

Praca z bazami danych

Łącz się z bazami danych i wykonuj operacje CRUD za pomocą C#

Lekcja 4 z 510 kroki

Praca z bazami danych to bezpłatna lekcja C# Academy na CoddyKit. To lekcja 4 z 5. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej C# Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs C# Academy zawiera 5 lekcji w sumie.

Wprowadzenie do baz danych

Praca z bazami danych

Witamy na kolejnej lekcji! W tej lekcji dowiedzą się Państwo, jak korzystać z baz danych w języku C#. Omówimy nawiązywanie połączeń, wykonywanie zapytań i zarządzanie danymi. Zaczynajmy!

Praca z bazami danych — ilustracja 1

Czym jest baza danych?

Baza danych to uporządkowany zbiór danych, do którego można uzyskiwać dostęp, którym można zarządzać i który można aktualizować. Bazy danych są powszechnie używane do przechowywania i pobierania informacji w aplikacjach.

Najważniejsze: Relacyjne bazy danych, takie jak SQL Server i MySQL, organizują dane w tabelach składających się z wierszy i kolumn.

Konfigurowanie połączenia

Aby połączyć się z bazą danych, należy użyć klasy SqlConnection z przestrzeni nazw System.Data.SqlClient. Przykład:

Wskazówka: Należy zastąpić your_server i your_database rzeczywistymi nazwami serwera i bazy danych.

using System;
using System.Data.SqlClient;

class Program {
    static void Main() {
        string connectionString = "Data Source=your_server;Initial Catalog=your_database;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString)) {
            connection.Open();
            Console.WriteLine("Database connection established.");
        }
    }
}

Wykonywanie poleceń SQL

Do wykonywania poleceń SQL należy używać klasy SqlCommand. Przykład:

Najważniejsze: Metody ExecuteNonQuery należy używać w przypadku poleceń modyfikujących dane, takich jak INSERT, UPDATE i DELETE.

using System;
using System.Data.SqlClient;

class Program {
    static void Main() {
        string connectionString = "Data Source=your_server;Initial Catalog=your_database;Integrated Security=True";

        using (SqlConnection connection = new SqlConnection(connectionString)) {
            connection.Open();

            string query = "INSERT INTO Users (Name, Age) VALUES ('Alice', 25)";
            SqlCommand command = new SqlCommand(query, connection);

            int rowsAffected = command.ExecuteNonQuery();
            Console.WriteLine($"{rowsAffected} row(s) inserted.");
        }
    }
}

Odczytywanie danych

Do odczytywania danych z bazy danych należy używać klasy SqlDataReader. Przykład:

Najważniejsze: Po odczytaniu danych należy zawsze zamknąć obiekt SqlDataReader.

using System;
using System.Data.SqlClient;

class Program {
    static void Main() {
        string connectionString = "your_connection_string_here";

        using (SqlConnection connection = new SqlConnection(connectionString)) {
            connection.Open();
            string query = "SELECT Id, Name FROM Users";

            using (SqlCommand command = new SqlCommand(query, connection)) {
                using (SqlDataReader reader = command.ExecuteReader()) {
                    while (reader.Read()) {
                        Console.WriteLine($"ID: {reader["Id"]}, Name: {reader["Name"]}");
                    }
                }
            }
        }
    }
}

Wstawianie danych

Do wstawiania danych do bazy danych należy używać klasy SqlCommand wraz z zapytaniem INSERT. Przykład:

Wskazówka: Dla dynamicznych wartości należy używać parametrów, aby zapobiegać wstrzyknięciom SQL.

using System;
using System.Data.SqlClient;

class Program {
    static void Main() {
        string connectionString = "your_connection_string_here";

        using (SqlConnection connection = new SqlConnection(connectionString)) {
            connection.Open();
            string query = "INSERT INTO Users (Name, Age) VALUES (@Name, @Age)";

            using (SqlCommand command = new SqlCommand(query, connection)) {
                command.Parameters.AddWithValue("@Name", "Alice");
                command.Parameters.AddWithValue("@Age", 25);
                int rowsAffected = command.ExecuteNonQuery();
                Console.WriteLine(rowsAffected + " row(s) inserted.");
            }
        }
    }
}

Aktualizowanie i usuwanie danych

Do modyfikowania lub usuwania danych należy używać poleceń SQL UPDATE i DELETE. Przykład:

using System;
using System.Data.SqlClient;

class Program {
    static void Main() {
        string connectionString = "your_connection_string_here";

        using (SqlConnection connection = new SqlConnection(connectionString)) {
            connection.Open();
            string updateQuery = "UPDATE Users SET Age = @Age WHERE Name = @Name";
            string deleteQuery = "DELETE FROM Users WHERE Name = @Name";

            using (SqlCommand command = new SqlCommand(updateQuery, connection)) {
                command.Parameters.AddWithValue("@Name", "Alice");
                command.Parameters.AddWithValue("@Age", 26);
                command.ExecuteNonQuery();
                Console.WriteLine("Data updated.");
            }

            using (SqlCommand command = new SqlCommand(deleteQuery, connection)) {
                command.Parameters.AddWithValue("@Name", "Alice");
                command.ExecuteNonQuery();
                Console.WriteLine("Data deleted.");
            }
        }
    }
}

Dobre praktyki dotyczące operacji na bazie danych

Oto kilka dobrych praktyk:

  • Zawsze należy używać zapytań parametryzowanych, aby zapobiegać wstrzyknięciom SQL.
  • Połączenia z bazą danych należy szybko zamykać za pomocą instrukcji using.
  • Należy rejestrować błędy bazy danych na potrzeby debugowania i monitorowania.

Wskazówka: W przypadku złożonych zapytań należy używać procedur składowanych, aby zwiększyć wydajność i ułatwić konserwację.

Podsumowanie operacji na bazie danych

Świetna robota!

Gratulacje! Nauczyli się Państwo, jak łączyć się z bazą danych, wykonywać zapytania i modyfikować dane za pomocą języka C#. W następnej lekcji poznają Państwo LINQ, które umożliwia wydajne i intuicyjne odpytywanie danych. Kodujmy dalej!

Praca z bazami danych — ilustracja 10
Bezpłatny start

Ucz się C# dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
93
Lekcje
346

Często zadawane pytania

Czy lekcja „Praca z bazami danych” jest bezpłatna?

Tak — pełny tekst „Praca z bazami danych” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu C# Academy, przejdź na CoddyKit PRO. Kurs C# Academy zawiera 5 lekcji w sumie.

Co nauczysz się w „Praca z bazami danych”?

Łącz się z bazami danych i wykonuj operacje CRUD za pomocą C# Ćwiczysz C# Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć C# Academy?

Nie wymagamy żadnego doświadczenia. C# Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 5.

Ile czasu zajmuje lekcja „Praca z bazami danych”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji C# Academy?

Tak. Każda lekcja C# Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Odczytywanie i zapisywanie plików
  2. Praca z JSON i XML
  3. Obsługa wyjątków
  4. Praca z bazami danych
  5. Używanie LINQ do zapytań dotyczących danych
← Powrót do C# Academy