[.NET] Manipulowanie danymi za pomocą ADO.NET

Manipulowanie danymi jest kluczowym elementem większości aplikacji. W platformie .NET mamy do dyspozycji ADO.NET, które jest narzędziem służącym do pracy z bazami danych. ADO.NET zapewnia wiele funkcji i funkcjonalności, które umożliwiają łatwe pobieranie, dodawanie, aktualizowanie i usuwanie danych z różnych źródeł danych, takich jak SQL Server, Oracle czy MySQL. W tym artykule przyjrzymy się bliżej ADO.NET i dowiemy się, jak skutecznie manipulować danymi w .NET.

Podstawy ADO.NET

ADO.NET to zestaw bibliotek i klas, które umożliwiają połączenie z bazą danych, pobieranie i manipulowanie danymi. ADO.NET składa się z dwóch głównych składników: Data Provider i DataSet/DataTable.

  • Data Provider - Data Provider to specyficzny dostawca dla danej bazy danych, na przykład SqlConnection dla SQL Servera, OracleConnection dla Oracle'a itp. Data Provider umożliwia nawiązanie połączenia z bazą danych, wykonanie zapytań i odczytanie wyników. Każdy dostawca danych dostarcza specyficzne dla siebie klasy i metody do obsługi operacji na bazie danych.
  • DataSet/DataTable - DataSet to obiekt, który przechowuje dane z bazy danych w pamięci. Może zawierać wiele tabel, relacje między nimi oraz informacje o schemacie danych. DataTable natomiast reprezentuje pojedynczą tabelę w DataSet. Zawiera kolumny i wiersze, które odpowiadają danym w bazie danych.

Tworzenie połączenia z bazą danych

Aby rozpocząć pracę z bazą danych, musimy najpierw utworzyć połączenie z danym dostawcą danych. Przykład poniżej przedstawia, jak utworzyć połączenie z bazą danych SQL Server za pomocą SqlConnection:

using System.Data.SqlClient;

string connectionString = "Data Source=.;Initial Catalog=MojaBazaDanych;User ID=mojUzytkownik;Password=mojeHaslo;";
SqlConnection connection = new SqlConnection(connectionString);

try
{
    connection.Open();
    // Połączenie zostało otwarte pomyślnie, możemy wykonywać operacje na bazie danych
}
catch (Exception ex)
{
    Console.WriteLine("Błąd podczas otwierania połączenia: " + ex.Message);
}
finally
{
    connection.Close();
}

W powyższym przykładzie tworzymy obiekt SqlConnection, który reprezentuje połączenie z bazą danych SQL Server. Następnie otwieramy połączenie za pomocą metody Open(). Jeżeli wystąpi błąd podczas otwierania połączenia, jest on obsługiwany w bloku catch, a na końcu bloku finally zamykamy połączenie.

Wykonywanie zapytań do bazy danych

Po utworzeniu połączenia z bazą danych możemy wykonywać zapytania i pobierać dane. ADO.NET dostarcza kilka różnych sposobów na wykonywanie zapytań, takich jak SqlCommand, SqlDataAdapter, czy SqlDataReader.

string query = "SELECT * FROM MojaTabela";
SqlCommand command = new SqlCommand(query, connection);

try
{
    SqlDataReader reader = command.ExecuteReader();
    while (reader.Read())
    {
        // Odczytaj dane z wiersza
        int id = reader.GetInt32(0);
        string name = reader.GetString(1);
        // ...
    }
    reader.Close();
}
catch (Exception ex)
{
    Console.WriteLine("Błąd podczas wykonywania zapytania: " + ex.Message);
}

W powyższym przykładzie tworzymy obiekt SqlCommand, który wykonuje zapytanie SELECT na tabeli "MojaTabela". Następnie używamy metody ExecuteReader() do wykonania zapytania i otrzymania obiektu SqlDataReader, który umożliwia iterację po wynikach zapytania. W pętli while odczytujemy dane z kolejnych wierszy i wykonujemy operacje na nich.

Dodawanie, aktualizowanie i usuwanie danych

ADO.NET umożliwia również dodawanie, aktualizowanie i usuwanie danych w bazie danych. Możemy użyć klasy SqlCommand do wykonania zapytań INSERT, UPDATE lub DELETE.

string query = "INSERT INTO MojaTabela (Kolumna1, Kolumna2) VALUES (@param1, @param2)";
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@param1", wartość1);
command.Parameters.AddWithValue("@param2", wartość2);

try
{
    int rowsAffected = command.ExecuteNonQuery();
    Console.WriteLine("Dodano " + rowsAffected + " wierszy.");
}
catch (Exception ex)
{
    Console.WriteLine("Błąd podczas dodawania danych: " + ex.Message);
}

W powyższym przykładzie tworzymy zapytanie INSERT do, aby dodać dane do tabeli " ;MojaTabela". Używamy również parametrów, aby uniknąć problemów związanych z bezpieczeństwem i formatowaniem danych. Metoda ExecuteNonQuery() zwraca liczbę zmienionych wierszy.

ADO.NET jest potężnym narzędziem, które umożliwia łatwe manipulowanie danymi w bazach danych przy użyciu platformy .NET. W tym artykule omówiliśmy podstawy ADO.NET, w tym tworzenie połączenia z bazą danych, wykonywanie zapytań i manipulowanie danymi. ADO.NET zapewnia wiele innych funkcji, takich jak transakcje, obsługa procedur składowanych czy mapowanie obiektowo-relacyjne. Zrozumienie i umiejętność pracy z ADO.NET pozwoli nam skutecznie zarządzać danymi w naszych aplikacjach .NET.

Komentarze

Popular

[C++] Jak obliczyć pole i obwód trapezu?

[HTML] Jak wstawić obrazek?

[JavaScript|Node.js] Generowanie kodów QR w Node.js z użyciem biblioteki qrcode