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
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.
Kliknij prawym przyciskiem myszy pozycję Połączenie ions danych w Eksploratorze bazy danych Eksploratora/ serwera, a następnie kliknij pozycję Dodaj Połączenie ion.
Określ prawidłowe połączenie z przykładową bazą danych Northwind.
Aby dodać projekt z plikiem LINQ to SQL
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.
W menu Project (Projekt) kliknij pozycję Add New Item (Dodaj nowy element). Wybierz szablon elementu KLASY LINQ to SQL.
Nazwij plik
northwind.dbml
. Kliknij przycisk Dodaj. Dla pliku jest otwieranynorthwind.dbml
Projektant relacyjny (O/R Projektant).
Aby dodać tabele do zapytania i zmodyfikować go w projektancie
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.Kliknij tabelę Customers (Klienci) i przeciągnij ją do lewego okienka projektanta.
Projektant tworzy nowy obiekt Customer dla projektu.
Zapisz zmiany i zamknij projektanta.
Zapisz projekt.
Aby dodać kod, aby zmodyfikować bazę danych i wyświetlić wyniki
Z przybornika przeciągnij kontrolkę DataGridView do domyślnego formularza systemu Windows dla projektu Form1.
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
Z przybornika przeciągnij trzy Button kontrolki na formularz. Wybierz pierwszą
Button
kontrolkę. W oknie Właściwości ustaw dlaName
kontrolkiAddButton
Button
wartość i wartośćText
Add
. Wybierz drugi przycisk i ustawName
właściwość naUpdateButton
, aText
właściwość naUpdate
. Wybierz trzeci przycisk i ustawName
właściwość naDeleteButton
, aText
właściwość naDelete
.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
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
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
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ż
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla