[.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, 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
Prześlij komentarz
Dzięki za komentarz!