Udostępnij za pośrednictwem


Zapisywanie danych za pomocą metod TableAdapter DBDirect w aplikacjach .NET Framework

Uwaga

Zestawy danych i powiązane klasy to starsze technologie .NET Framework z początku 2000 roku, które umożliwiają aplikacjom pracę z danymi w pamięci, gdy aplikacje są odłączone od bazy danych. Technologie te są szczególnie przydatne w przypadku aplikacji, które umożliwiają użytkownikom modyfikowanie danych i utrwalanie zmian z powrotem w bazie danych. Mimo że zestawy danych okazały się bardzo udaną technologią, zalecamy, aby nowe aplikacje platformy .NET używały platformy Entity Framework Core. Program Entity Framework zapewnia bardziej naturalny sposób pracy z danymi tabelarycznymi jako modelami obiektów i ma prostszy interfejs programowania.

Ten samouczek zawiera szczegółowe instrukcje dotyczące uruchamiania instrukcji SQL bezpośrednio w bazie danych przy użyciu metod DBDirect obiektu TableAdapter. Metody DBDirect klasy TableAdapter zapewniają precyzyjny poziom kontroli nad aktualizacjami bazy danych. Można ich używać do uruchamiania określonych instrukcji SQL i procedur składowanych, wywołując poszczególne Insertmetody , Updatei Delete zgodnie z potrzebami przez aplikację (w przeciwieństwie do metody przeciążonej Update , która wykonuje UPDATEinstrukcje , INSERTi DELETE w jednym wywołaniu).

W tym samouczku dowiesz się, jak wykonywać następujące działania:

  • Tworzenie i konfigurowanie zestawu danych za pomocą Kreatora konfiguracji źródła danych.

  • Wybierz kontrolkę do utworzenia w formularzu podczas przeciągania elementów z okna Źródła danych. Aby uzyskać więcej informacji, zobacz Ustawianie kontrolki do utworzenia podczas przeciągania z okna Źródła danych.

  • Utwórz formularz powiązany z danymi, przeciągając elementy z okna Źródła danych na formularz.

  • Dodaj metody umożliwiające bezpośredni dostęp do bazy danych i wykonują operacje wstawiania, aktualizacji i usuwania.

Wymagania wstępne

Kroki opisane w tym samouczku współpracują z aplikacjami windows Forms programu .NET Framework.

W tym samouczku użyto bazy danych SQL Server Express LocalDB i przykładowej bazy danych Northwind.

  1. Jeśli nie masz bazy danych SQL Server Express LocalDB, zainstaluj ją ze strony pobierania programu SQL Server Express lub za pośrednictwem Instalator programu Visual Studio. W Instalator programu Visual Studio można zainstalować bazę danych SQL Server Express LocalDB w ramach obciążenia Magazynu i przetwarzania danych lub jako pojedynczy składnik.

  2. Zainstaluj przykładową bazę danych Northwind, wykonując następujące kroki:

    1. W programie Visual Studio otwórz okno Eksplorator obiektów programu SQL Server. (program SQL Server Eksplorator obiektów jest instalowany w ramach obciążenia Magazyn danych i przetwarzanie w Instalator programu Visual Studio). Rozwiń węzeł PROGRAMU SQL Server. Kliknij prawym przyciskiem myszy wystąpienie bazy danych LocalDB i wybierz pozycję Nowe zapytanie.

      Zostanie otwarte okno edytora zapytań.

    2. Skopiuj skrypt Northwind Transact-SQL do schowka. Ten skrypt języka T-SQL tworzy bazę danych Northwind od podstaw i wypełnia ją danymi.

    3. Wklej skrypt języka T-SQL do edytora zapytań, a następnie wybierz przycisk Wykonaj .

      Po krótkim czasie zapytanie zakończy działanie i zostanie utworzona baza danych Northwind.

Tworzenie aplikacji Windows Forms

Pierwszym krokiem jest utworzenie aplikacji Windows Forms App (.NET Framework). Utwórz projekt przy użyciu typu projektu Aplikacji formularzy systemu Windows przy użyciu języka C# lub Visual Basic.

Uwaga

Kod tego samouczka jest dostępny w językach C# i Visual Basic. Aby przełączyć język kodu na tej stronie między językami C# i Visual Basic, użyj przełącznika języka kodu w górnej części strony po prawej stronie.

Tworzenie źródła danych na podstawie bazy danych

W tym kroku użyto Kreatora konfiguracji źródła danych do utworzenia źródła danych na Region podstawie tabeli w przykładowej bazie danych Northwind. Aby utworzyć połączenie, musisz mieć dostęp do przykładowej bazy danych Northwind. Aby uzyskać informacje na temat konfigurowania przykładowej bazy danych Northwind, zobacz Instrukcje: instalowanie przykładowych baz danych.

Aby utworzyć źródło danych

  1. W menu Dane wybierz pozycję Pokaż źródła danych.

    Zostanie otwarte okno Źródła danych.

  2. W oknie Źródła danych wybierz pozycję Dodaj nowe źródło danych, aby uruchomić Kreatora konfiguracji źródła danych.

  3. Na ekranie Wybierz typ źródła danych wybierz pozycję Baza danych, a następnie wybierz pozycję Dalej.

  4. Na ekranie Wybieranie połączenia danych wykonaj jedną z następujących czynności:

    • Jeśli na liście rozwijanej jest dostępne połączenie danych z przykładową bazą danych Northwind, wybierz je.

      — lub —

    • Wybierz pozycję Nowe połączenie , aby uruchomić okno dialogowe Dodawanie/Modyfikowanie połączenia .

  5. Jeśli baza danych wymaga hasła, wybierz opcję dołączenia poufnych danych, a następnie wybierz przycisk Dalej.

  6. Na ekranie Zapisz parametry połączenia w pliku konfiguracji aplikacji wybierz pozycję Dalej.

  7. Na ekranie Wybieranie obiektów bazy danych rozwiń węzeł Tabele .

  8. Wybierz tabelę Region , a następnie wybierz pozycję Zakończ.

    Zestaw NorthwindDataSet jest dodawany do projektu, a Region tabela zostanie wyświetlona w oknie Źródła danych.

Dodawanie kontrolek do formularza w celu wyświetlenia danych

Utwórz kontrolki powiązane z danymi, przeciągając elementy z okna Źródła danych na formularz.

Aby utworzyć kontrolki powiązane z danymi w formularzu systemu Windows, przeciągnij główny węzeł Region z okna Źródła danych na formularz.

Kontrolka DataGridView i pasek narzędzi (BindingNavigator) do nawigowania po rekordach są wyświetlane w formularzu. Element NorthwindDataSet, RegionTableAdapter, BindingSourcei BindingNavigator pojawi się na pasku składników.

Aby dodać przyciski, które będą wywoływać poszczególne metody TableAdapter DbDirect

  1. Przeciągnij trzy Button kontrolki z przybornika na form1 (poniżej kontrolki RegionDataGridView).

  2. Ustaw następujące właściwości Name (Nazwa ) i Text (Tekst) na każdym przycisku.

    Nazwisko Tekst
    InsertButton Insert
    UpdateButton Update
    DeleteButton Delete

Aby dodać kod do wstawiania nowych rekordów do bazy danych

  1. Wybierz pozycję InsertButton , aby utworzyć procedurę obsługi zdarzeń dla zdarzenia kliknięcia i otworzyć formularz w edytorze kodu.

  2. Zastąp InsertButton_Click program obsługi zdarzeń następującym kodem:

    private void InsertButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        String newRegionDescription = "NorthEastern";
    
        try
        {
            regionTableAdapter1.Insert(newRegionID, newRegionDescription);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Insert Failed");
        }
        RefreshDataset();
    }
    
    
    private void RefreshDataset()
    {
        this.regionTableAdapter1.Fill(this.northwindDataSet1.Region);
    }
    

    Uwaga

    W zależności od używanej wersji programu Visual Studio i szablonów projektów nazwy zmiennych, takie jak regionTableAdapter lub regionTableAdapter1 używane w tym kodzie, mogą lub nie mają końcowego ciągu 1 w wygenerowanym kodzie. Wprowadź wszelkie poprawki w kodzie, aby upewnić się, że poprawna nazwa jest używana wszędzie. Program Visual Studio pokazuje czerwony wywiórz, w którym nazwa jest niepoprawna.

Aby dodać kod do aktualizowania rekordów w bazie danych

  1. Kliknij dwukrotnie element UpdateButton, aby utworzyć procedurę obsługi zdarzeń dla zdarzenia kliknięcia i otworzyć formularz w edytorze kodu.

  2. Zastąp UpdateButton_Click program obsługi zdarzeń następującym kodem:

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

Aby dodać kod do usuwania rekordów z bazy danych

  1. Wybierz pozycję DeleteButton , aby utworzyć procedurę obsługi zdarzeń dla zdarzenia kliknięcia i otworzyć formularz w edytorze kodu.

  2. Zastąp DeleteButton_Click program obsługi zdarzeń następującym kodem:

    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

Uruchamianie aplikacji

  • Wybierz F5 , aby uruchomić aplikację.

  • Wybierz przycisk Wstaw i sprawdź, czy nowy rekord pojawi się w siatce.

  • Wybierz przycisk Aktualizuj i sprawdź, czy rekord został zaktualizowany w siatce.

  • Wybierz przycisk Usuń i sprawdź, czy rekord został usunięty z siatki.

Następne kroki

W zależności od wymagań aplikacji można wykonać kilka kroków po utworzeniu formularza powiązanego z danymi. Niektóre ulepszenia, które można wprowadzić w tym samouczku, obejmują:

  • Dodawanie funkcji wyszukiwania do formularza.

  • Dodanie dodatkowych tabel do zestawu danych przez wybranie pozycji Konfiguruj zestaw danych za pomocą Kreatora w oknie Źródła danych. Kontrolki, które wyświetlają powiązane dane, można dodawać, przeciągając powiązane węzły do formularza. Aby uzyskać więcej informacji, zobacz Relacje w zestawach danych.