Porady: modyfikowanie danych w bazie danych za pomocą LINQ (Visual Basic)
Zintegrowane języka kwerend kwerendy (LINQ) ułatwiają dostęp do informacji z bazy danych i modyfikować wartości w bazie danych.
Poniższy przykład pokazuje, jak utworzyć nową aplikację, która pobiera i aktualizacji informacji w bazie danych programu SQL Server.
W tym temacie w przykładach używana przykładowa baza danych Northwind.Jeśli nie masz przykładowej bazy danych Northwind na komputerze dewelopera, można pobrać ją z Centrum pobierania firmy Microsoft witryny sieci Web.Aby uzyskać instrukcje, zobacz Downloading Sample Databases.
Aby utworzyć połączenie z bazą danych
W programie Visual Studio, otwórz Server Explorer/Explorer bazy danych przez kliknięcie przycisku widoku menu, a następnie wybierz Server Explorer/Explorer bazy danych.
Kliknij prawym przyciskiem myszy Połączeń danych w Server Explorer/Explorer bazy danychi kliknij przycisk Dodać połączenie.
Określić prawidłowe połączenie do bazy danych Northwind.
Aby dodać projekt LINQ do pliku SQL
W programie Visual Studio na pliku menu, wskaż Nowy , a następnie kliknij przycisk projektu.Wybierz Visual Basic Aplikacji Windows Forms jako typu projektu.
Na Projekt menu, kliknij przycisk Dodaj nowy element.Wybierz LINQ klas SQL szablonu elementu.
Nazwa pliku northwind.dbml.Kliknij przycisk dodać.Relacyjne Object Designer (Projektant O/R) jest otwarty na northwind.dbml pliku.
Aby dodać tabele, kwerendy i modyfikowania do projektanta
W Server Explorer/Explorer bazy danych, rozwiń połączenie do bazy danych Northwind.Rozwiń węzeł tabel folder.
Po zamknięciu projektanta O/R, można go ponownie, klikając dwukrotnie northwind.dbml pliku, który dodano wcześniej.
Kliknij tabelę Klienci i przeciągnij go do lewego okienka projektanta.
Projektant tworzy nowy obiekt klienta dla projektu.
Zapisz zmiany i zamknąć projektanta.
Zapisz swój projekt.
Aby dodać kod do modyfikowania bazy danych i wyświetl wyniki
Z Przybornik, przeciągnij DataGridView kontrolkę domyślny formularz systemu Windows w projekcie formularza Form1.
Podczas dodawania tabel do projektanta O/R, Projektant dodaje DataContext obiektu do swojego projektu.Ten obiekt zawiera kod, którego można uzyskać dostępu do tabeli Klienci.Zawiera on także kod definiujący lokalnego obiektu klienta i zbioru klientów dla tabeli.DataContext Obiektu o nazwie projektu oparte na nazwę pliku .dbml.Dla tego projektu DataContext obiektu o nazwie northwindDataContext.
Można utworzyć wystąpienia DataContext obiektów w kodzie i kwerendy i modyfikować kolekcji klientów określone przez projektanta O/R.Zmiany wprowadzone do zbioru klientów nie są odzwierciedlane w bazie danych, do czasu przesłania przez wywołanie SubmitChanges metoda DataContext obiektu.
Kliknij dwukrotnie Windows formularz, formularz1, aby dodać kod do Load zdarzenie, aby kwerenda tabeli Klienci, który jest ujawniona jako właściwość your 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 Przybornik, przeciągnij trzy Button kontrolki do formularza.Zaznacz pierwszy Button kontroli.W Właściwości okno, ustawić Name z Button kontroli do AddButton i Text do Dodaj.Zaznacz drugi przycisk i ustaw Name właściwość, aby UpdateButton i Text właściwość, aby Aktualizacja.Trzeci przycisk Wybierz i ustaw Name właściwość, aby DeleteButton i Text właściwość, aby usunąć.
Kliknij dwukrotnie Dodaj przycisk, 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 Aktualizacja przycisk, 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" Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End Sub
Kliknij dwukrotnie usunąć przycisk, 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 Aktualizacja zmodyfikować nowy rekord.Kliknij przycisk usunąć do usuwania nowego rekordu.
Zobacz też
Zadania
How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
Koncepcje
DataContext Methods (O/R Designer)