Wstawianie, aktualizowanie, usuwanie: połączenie z bazą danych ASP.NET

⚡ Inteligentne podsumowanie

ASP.NET łączy się z bazami danych, takimi jak SQL Server i Oracle za pomocą ADO.NET, używając klas SqlConnection, SqlCommand, SqlDataReader i SqlDataAdapter do otwierania połączenia i wykonywania operacji wybierania, wstawiania, aktualizowania i usuwania na zapisanych rekordach.

  • 🔌 Podłączenie: SqlConnection otwiera łącze do bazy danych za pomocą ciągu połączenia zawierającego źródło danych, katalog i poświadczenia.
  • ???? Odczyt rekordów: SqlCommand z ExecuteReader i SqlDataReader przechodzi przez wiersze zwrócone przez instrukcję SELECT.
  • ➕ Wstaw i zaktualizuj: SqlDataAdapter z ExecuteNonQuery uruchamia polecenia INSERT i UPDATE w celu zmiany zapisanych danych.
  • 🗑️ Kasować: Polecenie DELETE wykonane za pomocą ExecuteNonQuery usuwa określony wiersz z tabeli.
  • 🔗 Kontrola powiązania: Źródło danych wiąże listęBox, DropDownList i podobne kontrolki bezpośrednio do pól tabeli.
  • 🔐 Zachowaj bezpieczeństwo: Parametryzowane zapytania i zamykanie każdego połączenia zapewniają bezpieczeństwo i niezawodność kodu bazy danych.

ASP.NET Wstawianie, aktualizowanie, usuwanie bazy danych Operanych

Dostęp do danych z bazy danych jest ważnym aspektem każdego języka programowania. Każdy język programowania musi umożliwiać pracę z bazami danych.

ASP.NET umożliwia współpracę z różnymi typami baz danych. Może współpracować z najpopularniejszymi bazami danych, takimi jak: Oracle oraz Microsoft SQL Serwer.

Posiada również możliwość pracy z nowymi formami baz danych, takimi jak MongoDB oraz MySQL.

Podstawy łączności z bazami danych

ASP.NET umożliwia współpracę z większością baz danych, a najpowszechniejszą z nich jest Oracle oraz Microsoft SQL Server. Jednak w przypadku każdej bazy danych logika pracy z nimi wszystkimi jest w większości taka sama.

W naszych przykładach przyjrzymy się pracy z plikami Microsoft SQL Server jako nasza baza danych. W celach edukacyjnych można pobrać i używać pliku Microsoft SQL Server Edycja Express. To bezpłatne oprogramowanie bazodanowe udostępniane przez Microsoft.

Podczas pracy z bazami danych należy kierować się następującymi koncepcjami, wspólnymi dla wszystkich baz danych:

  1. Przyłącze – Aby pracować z danymi w bazie danych, pierwszym oczywistym krokiem jest połączenie. Połączenie z bazą danych zwykle składa się z parametrów wymienionych poniżej.
    1. Nazwa bazy danych lub źródło danych – Pierwszym ważnym parametrem jest nazwa bazy danych. Każde połączenie może działać tylko z jedną bazą danych na raz.
    2. Listy uwierzytelniające – Kolejnym ważnym aspektem jest nazwa użytkownika i hasło. Służą one do nawiązania połączenia z bazą danych.
    3. Parametry opcjonalne – Możesz określić opcjonalne parametry dotyczące sposobu, w jaki platforma .NET ma obsługiwać połączenie z bazą danych. Na przykład, można określić parametr określający, jak długo połączenie powinno pozostać aktywne.
  2. Wybór danych z bazy danych – Po nawiązaniu połączenia dane są pobierane z bazy danych. ASP.NET umożliwia wykonanie polecenia SQL SELECT na bazie danych. Za pomocą tego polecenia SQL można pobrać dane z określonej tabeli w bazie danych.
  3. Wstawianie danych do bazy danych – ASP.NET służy do wstawiania rekordów do bazy danych. Wartości dla każdego wiersza, który ma zostać wstawiony do bazy danych, są określone w ASP.NET.
  4. Aktualizacja danych do bazy danych – ASP.NET można również wykorzystać do aktualizacji istniejących rekordów w bazie danych. Nowe wartości można określić w ASP.NET dla każdego wiersza, który ma zostać zaktualizowany w bazie danych.
  5. Usuwanie danych z bazy danych – ASP.NET można również używać do usuwania rekordów z bazy danych. Kod jest napisany w celu usunięcia konkretnego wiersza z bazy danych.

Teraz, gdy poznaliśmy teorię każdej operacji, zobaczmy, jak wykonywać operacje na bazie danych w ASP.NET.

Połączenia z bazą danych ASP.NET

Przyjrzyjmy się teraz kodowi, który należy zachować, aby utworzyć połączenie z bazą danych. W naszym przykładzie połączymy się z bazą danych o nazwie Demodb. Poniżej podano dane uwierzytelniające użyte do połączenia z bazą danych:

  • Nazwa użytkownika – sa
  • Hasło – demo123

Zajmijmy się bieżącą aplikacją internetową utworzoną w poprzednich sekcjach.

  • Zacznij dodawać do niego operacje bazy danych.
  • Nasz przykład pokazuje nawiązanie prostego połączenia. Połączenie to jest nawiązywane z bazą danych Demodb. Odbywa się to podczas pierwszego uruchomienia strony.
  • Po nawiązaniu połączenia do użytkownika zostanie wysłana wiadomość. Komunikat będzie wskazywał, że połączenie zostało nawiązane.

Aby to osiągnąć, wykonajmy poniższe kroki.

Krok 1) Najpierw upewnijmy się, że Twoja aplikacja internetowa (DemoApplication) jest otwarta w programie Visual Studio. Double-kliknij plik demo.aspx.cs, aby wprowadzić kod połączenia z bazą danych.

Połączenia z bazą danych ASP.NET

Krok 2) Dodaj poniższy kod, który będzie używany do nawiązania połączenia z bazą danych.

Połączenia z bazą danych ASP.NET

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string connectionString;
            SqlConnection cnn;

            connectionString = @"Data Source=WIN-50GP30FGO75;Initial Catalog=Demodb;User ID=sa;Password=demo123";

            cnn = new SqlConnection(connectionString);

            cnn.Open();

            Response.Write("Connection Made");
            cnn.Close();
        }
    }
}

Code Wyjaśnienie:-

  1. Pierwszym krokiem jest utworzenie zmiennych. Posłużą one do utworzenia ciągu połączenia i połączenia z bazą danych SQL Server.
  2. Następnym krokiem jest utworzenie ciągu połączenia. Ciąg połączenia składa się z następujących części:
    • Źródło danych – nazwa serwera, na którym znajduje się baza danych. W naszym przypadku znajduje się ona na komputerze o nazwie WIN-50GP30FGO75.
    • Katalog początkowy służy do określenia nazwy bazy danych.
    • Identyfikator użytkownika i hasło to dane uwierzytelniające wymagane do połączenia się z bazą danych.
  3. Następnie przypisujemy ciąg połączenia do zmiennej cnn.
    • Zmienna cnn jest typu SqlConnection. Służy do nawiązania połączenia z bazą danych.
    • SqlConnection to klasa w ASP.NET służąca do tworzenia połączenia z bazą danych.
    • Aby użyć tej klasy, należy najpierw utworzyć obiekt tej klasy. W tym przypadku tworzymy zmienną o nazwie cnn, która jest typu SqlConnection.
  4. Następnie używamy metody Open zmiennej cnn, aby nawiązać połączenie z bazą danych. Wyświetlamy użytkownikowi komunikat o nawiązaniu połączenia. Robimy to za pomocą metody Response.Write. Następnie zamykamy połączenie z bazą danych.

Gdy powyższy kod jest ustawiony i projekt jest wykonywany za pomocą visual Studio, otrzymasz poniższy wynik. Po wyświetleniu formularza kliknij przycisk Połącz.

Wynik:-

Połączenia z bazą danych ASP.NET

Komunikat wyjściowy wyświetlony w przeglądarce poinformuje, że połączenie z bazą danych zostało nawiązane.

ASP.NET Odczyt bazy danych przy użyciu SqlDataReader

Aby pokazać dane dostępne za pomocą ASP.NET, załóżmy, że w naszej bazie danych znajdują się następujące artefakty.

  1. Tabela o nazwie demotb. Ta tabela będzie służyć do przechowywania identyfikatorów i nazw różnych samouczków.
  2. Tabela będzie miała dwie kolumny: jedną o nazwie TutorialID i drugą o nazwie TutorialName.
  3. W tej chwili tabela będzie składać się z dwóch wierszy, jak pokazano poniżej.
ID samouczka Nazwa samouczka
1 C#
2 ASP.Net

Zmieńmy kod tak, aby móc wyszukiwać te dane i wyświetlać je na samej stronie internetowej. Zwróć uwagę, że wprowadzony kod jest kontynuacją kodu napisanego dla modułu połączenia danych.

Krok 1) Podzielmy kod na dwie części:

  • Pierwszą częścią będzie skonstruowanie instrukcji SELECT. Będzie ona używana do odczytu danych z bazy danych.
  • Następnie wykonamy polecenie SELECT na bazie danych. Spowoduje to pobranie wszystkich wierszy tabeli.

ASP.NET Odczyt bazy danych przy użyciu SqlDataReader

Code Wyjaśnienie:-

  1. Pierwszym krokiem jest utworzenie następujących zmiennych:
    • SqlCommand – SqlCommand to klasa zdefiniowana w języku C#. Służy do wykonywania operacji odczytu i zapisu w bazie danych.
    • Obiekt DataReader służy do pobrania wszystkich danych określonych w zapytaniu SQL. Możemy wtedy odczytać wszystkie wiersze tabeli jeden po drugim za pomocą czytnika danych.
    • Następnie definiujemy dwie zmienne łańcuchowe. Jedna to sql, która będzie przechowywać ciąg poleceń SQL. Następna to Output, która będzie zawierać wszystkie wartości tabeli.
  2. Następnym krokiem jest zdefiniowanie instrukcji SQL. W naszym przypadku jest to „Select TutorialID, TutorialName from demotb”. Spowoduje to pobranie wszystkich wierszy z tabeli demotb.
  3. Następnie tworzymy obiekt poleceń, który służy do wykonywania instrukcji SQL w bazie danych. W poleceniu SQL musisz przekazać obiekt połączenia i ciąg SQL.
  4. Następnie wykonujemy polecenie czytnika danych, które pobierze wszystkie wiersze z tabeli demotb.
  5. Teraz, gdy mamy już wszystkie wiersze tabeli, potrzebujemy mechanizmu, który umożliwi nam dostęp do wierszy pojedynczo.
    • W tym celu używamy instrukcji while, aby uzyskać dostęp do wierszy z czytnika danych pojedynczo.
    • Następnie używamy metody GetValue, aby pobrać wartości TutorialID i TutorialName.

Krok 2) W ostatnim kroku wyświetlamy użytkownikowi wynik. Następnie zamykamy wszystkie obiekty powiązane z operacją bazy danych.

ASP.NET Odczyt bazy danych przy użyciu SqlDataReader

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Code Wyjaśnienie:-

  1. Kontynuujemy kod, wyświetlając wartość zmiennej Output. Robimy to za pomocą metody Response.Write.
  2. Na koniec zamykamy wszystkie obiekty powiązane z naszą operacją na bazie danych. Pamiętaj, że to zawsze dobra praktyka.

Po skonfigurowaniu powyższego kodu i uruchomieniu projektu za pomocą programu Visual Studio otrzymasz poniższy wynik.

Wynik:-

ASP.NET Odczyt bazy danych przy użyciu SqlDataReader

Z wyników wyraźnie widać, że program był w stanie pobrać wartości z bazy danych. Dane są następnie wyświetlane użytkownikowi w przeglądarce.

Wstaw rekord bazy danych za pomocą polecenia InsertCommand

Podobnie jak dostęp do danych, ASP.NET umożliwia również wstawianie rekordów do bazy danych. Przyjrzyjmy się tej samej strukturze tabeli, która jest używana do wstawiania rekordów.

ID samouczka Nazwa samouczka
1 C#
2 ASP.Net

Zmieńmy kod w naszym formularzu tak, abyśmy mogli wstawić następujący wiersz do tabeli:

ID samouczka Nazwa samouczka
3 VB.Net

Krok 1) W pierwszym kroku dodajmy do naszego programu następujący kod. Poniższy fragment kodu posłuży do wstawienia rekordu do naszej bazy danych.

Wstaw rekord bazy danych za pomocą polecenia InsertCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Insert into demotb(TutorialID,TutorialName) values(3,'VB.Net')";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Wyjaśnienie:-

  1. Pierwszym krokiem jest utworzenie następujących zmiennych:
    • SqlCommand – Ten typ danych służy do definiowania obiektów wykonujących operacje SQL na bazie danych. Ten obiekt będzie zawierał polecenie SQL, które zostanie uruchomione na naszej bazie danych SQL Server.
    • Obiekt DataAdapter służy do wykonywania poleceń SQL wstawiania, usuwania i aktualizowania.
    • Następnie definiujemy zmienną typu string, czyli sql, w której przechowujemy nasz ciąg poleceń SQL.
  2. Następnym krokiem jest zdefiniowanie instrukcji SQL. W naszym przypadku wydajemy instrukcję insert. Spowoduje to wstawienie rekordu TutorialID=3 i TutorialName=VB.Net.
  3. Następnie tworzymy obiekt poleceń, który służy do wykonywania instrukcji SQL w bazie danych. W poleceniu SQL musisz przekazać obiekt połączenia i ciąg SQL.
  4. W naszym poleceniu adaptera danych:
    • Powiąż polecenie wstawiania SQL z adapterem.
    • Następnie wywołaj metodę ExecuteNonQuery. Służy ona do wykonania instrukcji insert w naszej bazie danych.
    • Metoda ExecuteNonQuery jest używana w C# do wykonywania dowolnych poleceń DML (operacji wstawiania, usuwania i aktualizacji) w bazie danych.
  5. Na koniec zamykamy wszystkie obiekty powiązane z naszą operacją na bazie danych. Pamiętaj, że to zawsze dobra praktyka.

Krok 2) W drugim kroku dodamy ten sam kod, co w sekcji dostępu do danych. Ma to na celu wyświetlenie ostatnich danych tabeli w przeglądarce. W tym celu dodamy poniższy kod do pliku demo.aspx.cs.

Wstaw rekord bazy danych za pomocą polecenia InsertCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Po ustawieniu powyższego kodu i uruchomieniu projektu w programie Visual Studio otrzymasz poniższy wynik.

Wynik:-

Wstaw rekord bazy danych za pomocą polecenia InsertCommand

W oknie przeglądarki zobaczysz, że wiersz został pomyślnie wstawiony do bazy danych.

Zaktualizuj rekord bazy danych za pomocą polecenia UpdateCommand

ASP.NET umożliwia aktualizację istniejących rekordów w bazie danych. Przyjmijmy tę samą strukturę tabeli, która została użyta w powyższym przykładzie do wstawiania rekordów.

ID samouczka Nazwa samouczka
1 C#
2 ASP.Net
3 VB.Net

Zmieńmy kod w naszym formularzu, aby móc zaktualizować poniższy wiersz. Stara wartość wiersza to TutorialID (3) i TutorialName (VB.Net), którą zaktualizujemy do „VB.Net Complete”, podczas gdy wartość wiersza TutorialID pozostanie taka sama.

Stary rząd

ID samouczka Nazwa samouczka
3 VB.Net

Nowy rząd

ID samouczka Nazwa samouczka
3 VB.Net Complete

Krok 1) W pierwszym kroku dodajmy do naszego programu następujący kod. Poniższy fragment kodu posłuży do aktualizacji istniejącego rekordu w naszej bazie danych.

Zaktualizuj rekord bazy danych za pomocą polecenia UpdateCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Update demotb set TutorialName='VB.Net Complete' where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.InsertCommand = new SqlCommand(sql, cnn);
            adapter.InsertCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Wyjaśnienie:-

  1. Pierwszym krokiem jest utworzenie następujących zmiennych:
    • SqlCommand – Ten typ danych służy do definiowania obiektów do wykonywania operacji SQL na bazie danych. Ten obiekt będzie zawierał polecenie SQL, które zostanie uruchomione na naszej bazie danych SQL Server.
    • Obiekt DataAdapter służy do wykonywania poleceń SQL wstawiania, usuwania i aktualizowania.
    • Następnie definiujemy zmienną typu string, czyli sql, w której przechowujemy nasz ciąg poleceń SQL.
  2. Następnym krokiem jest faktyczne zdefiniowanie instrukcji SQL. W naszym przypadku wydajemy instrukcję aktualizacji. Spowoduje to zaktualizowanie pola TutorialName do „VB.Net Complete”. Pole TutorialID pozostanie niezmienione, a jego wartość wyniesie 3.
  3. Następnie tworzymy obiekt polecenia. Służy on do wykonania instrukcji SQL na bazie danych. W poleceniu SQL przekazujemy obiekt połączenia i ciąg SQL.
  4. W poleceniu adaptera danych kojarzymy polecenie SQL z naszym adapterem. Następnie wywołujemy metodę ExecuteNonQuery. Służy ona do wykonania instrukcji aktualizacji w naszej bazie danych.
  5. Na koniec zamykamy wszystkie obiekty powiązane z naszą operacją na bazie danych. Pamiętaj, że to zawsze dobra praktyka.

Krok 2) W drugim kroku dodamy ten sam kod, co w sekcji dostępu do danych. Ma to na celu wyświetlenie ostatnich danych z tabeli w przeglądarce. W tym celu dodamy poniższy kod.

Zaktualizuj rekord bazy danych za pomocą polecenia UpdateCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Po ustawieniu powyższego kodu i uruchomieniu projektu za pomocą programu Visual Studio otrzymasz poniższy wynik.

Wynik:-

Zaktualizuj rekord bazy danych za pomocą polecenia UpdateCommand

W oknie przeglądarki zobaczysz, że wiersz został pomyślnie zaktualizowany w bazie danych.

Usuń rekord bazy danych za pomocą polecenia DeleteCommand

ASP.NET umożliwia usuwanie istniejących rekordów z bazy danych. Przyjmijmy tę samą strukturę tabeli, która została użyta w powyższym przykładzie usuwania rekordów.

ID samouczka Nazwa samouczka
1 C#
2 ASP.Net
3 VB.Net Complete

Zmieńmy kod w naszym formularzu tak, abyśmy mogli usunąć następujący wiersz:

ID samouczka Nazwa samouczka
3 VB.Net Complete

Krok 1) W pierwszym kroku dodajmy do naszego programu następujący kod. Poniższy fragment kodu posłuży do usunięcia istniejącego rekordu z naszej bazy danych.

Usuń rekord bazy danych za pomocą polecenia DeleteCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataAdapter adapter = new SqlDataAdapter();
            String sql = "";

            sql = "Delete demotb where TutorialID=3";

            command = new SqlCommand(sql, cnn);
            adapter.DeleteCommand = new SqlCommand(sql, cnn);
            adapter.DeleteCommand.ExecuteNonQuery();

            command.Dispose();
            cnn.Close();
        }
    }
}

Code Wyjaśnienie:-

  1. Kluczowa różnica w tym kodzie polega na tym, że teraz wykonujemy polecenie SQL delete. Polecenie delete służy do usunięcia wiersza w tabeli demotb, w którym identyfikator TutorialID ma wartość 3.
  2. W poleceniu adaptera danych przypisujemy polecenie SQL delete do naszego adaptera. Wywołujemy również metodę ExecuteNonQuery, która służy do wykonania polecenia delete w naszej bazie danych.

Krok 2) W drugim kroku dodamy ten sam kod, co w sekcji dostępu do danych. Ma to na celu wyświetlenie ostatnich danych z tabeli w przeglądarce. W tym celu dodamy poniższy kod.

Usuń rekord bazy danych za pomocą polecenia DeleteCommand

namespace DemoApplication
{
    public partial class Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            SqlCommand command;
            SqlDataReader dataReader;
            String sql, Output = " ";
            sql = "Select TutorialID,TutorialName from demotb";

            command = new SqlCommand(sql, cnn);

            dataReader = command.ExecuteReader();
            while (dataReader.Read())
            {
                Output = Output + dataReader.GetValue(0) + "-" + dataReader.GetValue(1) + "</br>";
            }

            Response.Write(Output);
            dataReader.Close();
            command.Dispose();
            cnn.Close();
        }
    }
}

Po ustawieniu powyższego kodu i uruchomieniu projektu za pomocą programu Visual Studio otrzymasz poniższy wynik.

Wynik:-

Usuń rekord bazy danych za pomocą polecenia DeleteCommand

Łączenie kontrolek ASP.NET z danymi

Widzieliśmy, jak można używać poleceń ASP.NET, takich jak SqlCommand i SqlDataReader, do pobierania danych z bazy danych. Zobaczyliśmy również, jak można odczytać każdy wiersz tabeli i wyświetlić go na stronie internetowej.

Dostępne są metody bezpośredniego łączenia kontrolek z różnymi polami tabeli. Obecnie z aplikacją ASP.NET można powiązać tylko poniższe kontrolki:

  1. SprawdźBoxLista
  2. Lista przycisków radiowych
  3. Lista rozwijana
  4. ListaBox

Zobaczmy przykład, jak można użyć powiązania kontrolek w ASP.NET. Tutaj weźmiemy ListęBox Przykład. Załóżmy, że w naszej bazie danych znajdują się następujące dane.

ID samouczka Nazwa samouczka
1 C#
2 ASP.Net
3 VB.Net Complete

Użyjmy listyBox Control i zobacz, jak automatycznie pobiera dane z naszej tabeli demotb. Aby to osiągnąć, wykonaj poniższe kroki.

Krok 1) Zbuduj podstawowy formularz internetowy. Z przybornika w programie Visual Studio przeciągnij i upuść 2 komponenty – etykiety i listę.Boxes. Następnie wykonaj następujące podkroki:

  1. Wpisz wartość tekstową pierwszej etykiety jako TutorialID.
  2. Wpisz wartość tekstową drugiej etykiety jako TutorialName.

Poniżej pokazano, jak będzie wyglądał formularz po wykonaniu powyższych kroków.

Łączenie kontrolek ASP.NET z danymi

Krok 2) Następnym krokiem jest rozpoczęcie łączenia każdej listyBox do tabeli bazy danych.

  1. Najpierw kliknij na ListęBox dla TutorialID. Spowoduje to wyświetlenie kolejnego okna dialogowego z boku kontrolki.
  2. W oknie dialogowym kliknij opcję Wybierz źródło danych.

Łączenie kontrolek ASP.NET z danymi

Krok 3) Następnie pojawi się okno dialogowe. Można w nim utworzyć nowe źródło danych. Źródło danych będzie reprezentować połączenie z bazą danych. Wybierz opcję „Nowe źródło danych”.

Łączenie kontrolek ASP.NET z danymi

Krok 4) Po wybraniu w ostatnim kroku nowego źródła danych wyświetli się poniższy ekran. W tym miejscu musimy wspomnieć o rodzaju źródła danych, które chcemy utworzyć.

  1. Wybierz opcję bazy danych, aby pracować z bazą danych SQL Server.
  2. Teraz musimy nadać nazwę naszemu źródłu danych. Tutaj nadajemy mu nazwę DemoDataSource.
  3. Na koniec klikamy przycisk OK, aby przejść do następnego ekranu.

Łączenie kontrolek ASP.NET z danymi

Krok 5) Teraz musimy utworzyć połączenie z naszą bazą danych. Na następnym ekranie kliknij przycisk „Nowe połączenie”.

Łączenie kontrolek ASP.NET z danymi

Krok 6) Następnie musisz dodać dane uwierzytelniające, aby połączyć się z bazą danych.

  1. Wybierz nazwę serwera, na którym znajduje się SQL Server.
  2. Wprowadź identyfikator użytkownika i hasło, aby połączyć się z bazą danych.
  3. Wybierz bazę danych demotb.
  4. Kliknij przycisk OK.

Łączenie kontrolek ASP.NET z danymi

Krok 7) Na następnym ekranie zobaczysz tabelę demotb. Kliknij przycisk Dalej, aby zaakceptować ustawienia domyślne.

Łączenie kontrolek ASP.NET z danymi

Krok 8) Będziesz teraz mógł przetestować połączenie na następnym ekranie.

  1. Kliknij przycisk Testuj zapytanie, aby sprawdzić, czy możesz pobrać wartości z tabeli.
  2. Kliknij przycisk Zakończ, aby zakończyć pracę kreatora.

Łączenie kontrolek ASP.NET z danymi

Krok 9) Teraz na ekranie końcowym możesz kliknąć przycisk OK. Spowoduje to powiązanie listy TutorialID.Box do nazwy pola TutorialID w tabeli demotb.

Łączenie kontrolek ASP.NET z danymi

Krok 10) Teraz czas na powiązanie listy TutorialNameBox do pola TutorialName.

  1. Najpierw kliknij na listę TutorialNameBox.
  2. Następnie wybierz opcję Źródło danych w oknie dialogowym, które pojawi się obok listyBox.

Łączenie kontrolek ASP.NET z danymi

Krok 11) Po wybraniu źródła danych na następnym ekranie zobaczysz już DemoDataSource.

  1. Wybierz DemoDataSource.
  2. Kliknij przycisk OK.

Łączenie kontrolek ASP.NET z danymi

Jeśli wszystkie powyższe kroki zostaną wykonane w sposób pokazany, otrzymasz poniższe dane wyjściowe.

Wynik:-

Łączenie kontrolek ASP.NET z danymi

Z wyników można wywnioskować, że listaBoxWyświetla odpowiednio TutorialID i TutorialName.

FAQ

Tak. Asystenci AI, tacy jak GitHub Copilot, mogą obsługiwać metody insert, update i delete w ADO.NET oraz objaśniać każdy wiersz. Zawsze sprawdzaj wygenerowany kod SQL i testuj go, ponieważ AI może przegapić parametryzację lub szczegóły obsługi połączeń.

Tak. Możesz wkleić wyjątek ADO.NET lub błąd SQL do narzędzia AI i uzyskać przyczynę problemu w prostym języku oraz prawdopodobne rozwiązanie. Potwierdź sugestię ze schematem przed jej zastosowaniem w kodzie produkcyjnym.

Używaj zapytań parametryzowanych. Dodawaj wartości za pomocą obiektów SqlParameter zamiast łączyć dane wejściowe z ciągiem SQL. Pozwala to oddzielić dane od poleceń i bloków wstrzykiwania, a jednocześnie usprawnia ponowne wykorzystanie planu zapytania.

ExecuteNonQuery uruchamia operacje INSERT, UPDATE i DELETE i zwraca wiersze, których dotyczą. ExecuteReader zwraca obiekt SqlDataReader dla wyników SELECT. ExecuteScalar zwraca pojedynczą wartość, na przykład liczbę, z pierwszego wiersza i kolumny.

SqlDataReader przesyła wiersze pojedynczo i wymaga otwartego połączenia, co zapewnia szybki odczyt. SqlDataAdapter wypełnia pamięć DataSet lub DataTable, a także uruchamia polecenia insert, update i delete.

Przechowuj je w sekcji connectionStrings pliku web.config, zamiast kodować je na stałe na stronie. Dzięki temu ustawienia są scentralizowane, dane uwierzytelniające nie są przechowywane w kodzie źródłowym i można je zmieniać bez konieczności ponownej kompilacji aplikacji.

ADO.NET z SqlCommand zapewnia precyzyjną kontrolę i szybkość prostych stron. Entity Framework mapuje tabele na obiekty i redukuje liczbę szablonów w większych aplikacjach. Wiele zespołów łączy oba te podejścia w zależności od potrzeb w zakresie wydajności i złożoności.

Otwarte połączenia przechowują zasoby puli na serwerze. Wywołanie funkcji Close lub Dispose, najlepiej wewnątrz bloku using, zwraca połączenie do puli, zapobiega wyciekom i zapewnia responsywność aplikacji pod obciążeniem.

Podsumuj ten post następująco: