Udostępnij za pośrednictwem


Porady: modyfikowanie danych w bazie danych za pomocą LINQ (Visual Basic)

Zapytania zapytań zintegrowanych z językiem (LINQ) ułatwiają uzyskiwanie dostępu do informacji o bazie danych i modyfikowanie wartości w bazie danych.

W poniższym przykładzie pokazano, jak utworzyć nową aplikację, która pobiera i aktualizuje informacje w bazie danych programu SQL Server.

W przykładach w tym temacie użyto przykładowej bazy danych Northwind. Jeśli nie masz tej bazy danych na komputerze dewelopera, możesz pobrać ją z Centrum pobierania Microsoft. Aby uzyskać instrukcje, zobacz Pobieranie przykładowych baz danych.

Aby utworzyć połączenie z bazą danych

  1. W programie Visual Studio otwórz Eksploratora baz danych Eksploratora/ serwera, klikając menu Widok, a następnie wybierz pozycję Eksplorator bazy danych Eksploratora/ serwera.

  2. Kliknij prawym przyciskiem myszy pozycję Połączenie ions danych w Eksploratorze bazy danych Eksploratora/ serwera, a następnie kliknij pozycję Dodaj Połączenie ion.

  3. Określ prawidłowe połączenie z przykładową bazą danych Northwind.

Aby dodać projekt z plikiem LINQ to SQL

  1. W programie Visual Studio w menu Plik wskaż polecenie Nowy , a następnie kliknij pozycję Projekt. Wybierz pozycję Aplikacja formularzy systemu Windows w języku Visual Basic jako typ projektu.

  2. W menu Project (Projekt) kliknij pozycję Add New Item (Dodaj nowy element). Wybierz szablon elementu KLASY LINQ to SQL.

  3. Nazwij plik northwind.dbml. Kliknij przycisk Dodaj. Dla pliku jest otwierany northwind.dbml Projektant relacyjny (O/R Projektant).

Aby dodać tabele do zapytania i zmodyfikować go w projektancie

  1. W Eksploratorze bazy danych Eksploratora/ serwera rozwiń połączenie z bazą danych Northwind. Rozwiń folder Tables.

    Jeśli Projektant O/R został zamknięty, możesz go ponownie otworzyć, klikając northwind.dbml dwukrotnie dodany wcześniej plik.

  2. Kliknij tabelę Customers (Klienci) i przeciągnij ją do lewego okienka projektanta.

    Projektant tworzy nowy obiekt Customer dla projektu.

  3. Zapisz zmiany i zamknij projektanta.

  4. Zapisz projekt.

Aby dodać kod, aby zmodyfikować bazę danych i wyświetlić wyniki

  1. Z przybornika przeciągnij kontrolkę DataGridView do domyślnego formularza systemu Windows dla projektu Form1.

  2. Po dodaniu tabel do Projektant O/R projektant dodał DataContext do projektu obiekt. Ten obiekt zawiera kod, którego można użyć do uzyskiwania dostępu do tabeli Customers. Zawiera również kod, który definiuje lokalny obiekt Customer i kolekcję Customers dla tabeli. DataContext Obiekt projektu ma nazwę na podstawie nazwy pliku dbml. W tym projekcie DataContext obiekt ma nazwę northwindDataContext.

    Możesz utworzyć wystąpienie DataContext obiektu w kodzie i wykonać zapytanie oraz zmodyfikować kolekcję Customers określoną przez Projektant O/R. Zmiany wprowadzone w kolekcji Customers nie zostaną odzwierciedlone w bazie danych do momentu ich przesłania przez wywołanie SubmitChanges metody DataContext obiektu.

    Kliknij dwukrotnie formularz systemu Windows Form1, aby dodać kod do zdarzenia, aby wysłać zapytanie do Load tabeli Customers, która jest uwidoczniona jako właściwość elementu DataContext. Dodaj następujący kod:

    Private db As northwindDataContext
    
    Private Sub Form1_Load(ByVal sender As System.Object,
                           ByVal e As System.EventArgs
                          ) Handles MyBase.Load
      db = New northwindDataContext()
    
      RefreshData()
    End Sub
    
    Private Sub RefreshData()
      Dim customers = From cust In db.Customers
                      Where cust.City(0) = "W"
                      Select cust
    
      DataGridView1.DataSource = customers
    End Sub
    
  3. Z przybornika przeciągnij trzy Button kontrolki na formularz. Wybierz pierwszą Button kontrolkę. W oknie Właściwości ustaw dla Name kontrolki AddButtonButton wartość i wartość TextAdd. Wybierz drugi przycisk i ustaw Name właściwość na UpdateButton , a Text właściwość na Update. Wybierz trzeci przycisk i ustaw Name właściwość na DeleteButton , a Text właściwość na Delete.

  4. Kliknij dwukrotnie przycisk Dodaj, aby dodać kod do jego Click zdarzenia. Dodaj następujący kod:

    Private Sub AddButton_Click(ByVal sender As System.Object,
                                ByVal e As System.EventArgs
                               ) Handles AddButton.Click
      Dim cust As New Customer With {
        .City = "Wellington",
        .CompanyName = "Blue Yonder Airlines",
        .ContactName = "Jill Frank",
        .Country = "New Zealand",
        .CustomerID = "JILLF"}
    
      db.Customers.InsertOnSubmit(cust)
    
      Try
        db.SubmitChanges()
      Catch
        ' Handle exception.
      End Try
    
      RefreshData()
    End Sub
    
  5. Kliknij dwukrotnie przycisk Aktualizuj, aby dodać kod do jego Click zdarzenia. Dodaj następujący kod:

    Private Sub UpdateButton_Click(ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs
                                  ) Handles UpdateButton.Click
      Dim updateCust = (From cust In db.Customers
                        Where cust.CustomerID = "JILLF").ToList()(0)
    
      updateCust.ContactName = "Jill Shrader"
      updateCust.Country = "Wales"
      updateCust.CompanyName = "Red Yonder Airlines"
      updateCust.City = "Cardiff"
    
      Try
        db.SubmitChanges()
      Catch
        ' Handle exception.
      End Try
    
      RefreshData()
    End Sub
    
  6. Kliknij dwukrotnie przycisk Usuń, aby dodać kod do jego Click zdarzenia. Dodaj następujący kod:

    Private Sub DeleteButton_Click(ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs
                                  ) Handles DeleteButton.Click
      Dim deleteCust = (From cust In db.Customers
                        Where cust.CustomerID = "JILLF").ToList()(0)
    
      db.Customers.DeleteOnSubmit(deleteCust)
    
      Try
        db.SubmitChanges()
      Catch
        ' Handle exception.
      End Try
    
      RefreshData()
    End Sub
    
  7. Naciśnij klawisz F5, aby uruchomić projekt. Kliknij przycisk Dodaj , aby dodać nowy rekord. Kliknij przycisk Aktualizuj, aby zmodyfikować nowy rekord. Kliknij przycisk Usuń, aby usunąć nowy rekord.

Zobacz też