Jak: změnit Data v databázi pomocí LINQ (Visual Basic)
Integrované jazyka dotazů (LINQ dotazu) usnadňují přístup k informacím v databázi a změnit hodnoty v databázi.
Následující příklad ukazuje jak vytvořit novou aplikaci načítající a aktualizace informací v databázi serveru SQL Server.
Příklady v tomto tématu použít ukázkovou databázi Northwind.Pokud ukázkovou databázi Northwind ve vývojovém počítači nemáte, můžete ji stáhnout z Microsoft Download Center webu.Pokyny naleznete v části Downloading Sample Databases (LINQ to SQL).
Vytvoření připojení k databázi
Otevřít v aplikaci Visual Studio Server Explorer/Explorer databáze klepnutím zobrazení nabídce a pak vyberte Server Explorer/Explorer databáze.
Pravým tlačítkem myši na Připojení dat v Server Explorer/Explorer databázea klepněte na tlačítko Přidat připojení.
Zadejte platné připojení k ukázkové databázi Northwind.
Přidat SQL souboru projektu s LINQ
V aplikaci Visual Studio na soubor nabídce přejděte na Nový a klepněte na tlačítko projektu.Výběr jazyka Visual Basic Model Windows Forms aplikace jako typ projektu.
V nabídce Projekt klikněte na příkaz Přidat novou položku.Vyberte LINQ třídy SQL položku šablony.
Název souboru northwind.dbml.Klikněte na tlačítko Přidat.Otevření relační Object Designer (Návrhář O/R) northwind.dbml souboru.
Přidání dotazování a úpravy na Návrhář tabulky
V Server Explorer/Explorer databáze, rozbalte připojení k databázi Northwind.Rozbalte tabulek složky.
Zavřeno O/R Designer můžete znovu otevřít jej poklepáním northwind.dbml soubor, který jste přidali dříve.
Klepněte na tabulku Zákazníci a přetáhněte ho do levého podokna Návrháře.
Návrhář vytvoří nový objekt zákazníka projektu.
Uložte změny a zavřete Návrhář.
Uložte projekt.
Přidat kód upravit databázi a zobrazit výsledky
Z nástrojů, přetáhněte DataGridView řízení do výchozího formuláře systému Windows pro váš projekt Form1.
Po přidání tabulky do Návrháře O/R Návrhář přidány DataContext objektu do projektu.Tento objekt obsahuje kód, který můžete použít pro přístup k tabulce Zákazníci.Také obsahuje kód, který definuje místní objekt zákazníka a kolekce pro tabulku Zákazníci.DataContext Objektu pro projekt s názvem na základě názvu souboru .dbml.Pro tento projekt DataContext s názvem objektu northwindDataContext.
Můžete vytvořit instanci DataContext objektu v kódu a dotaz a upravit kolekci zákazníkům určit návrhář O/R.Změny provedené v kolekci zákazníci v databázi neprojeví dokud odeslání voláním SubmitChanges metodu DataContext objektu.
Poklepejte na položku Windows formuláře, formulář1, přidání kódu Load událost dotazu tabulky Zákazníci, který se projevuje jako vlastnost vaše DataContext.Přidejte následující kód:
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 nástrojů, přetáhněte tři Button ovládacích prvků do formuláře.Vyberte první Button řízení.V Vlastnosti okno, nastavte Name z Button řízení na AddButton a Text na Přidat.Vyberte druhé tlačítko a nastavte Name vlastnost UpdateButton a Text vlastnost aktualizace.Třetí tlačítko Vybrat a nastavit Name vlastnost DeleteButton a Text vlastnost Odstranit.
Poklepejte Přidat tlačítko Přidat kód a jeho Click událostí.Přidejte následující kód:
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
Poklepejte aktualizace tlačítko Přidat kód a jeho Click událostí.Přidejte následující kód:
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
Poklepejte Odstranit tlačítko Přidat kód a jeho Click událostí.Přidejte následující kód:
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
Stisknutím klávesy F5 spuštění projektu.Klepněte na tlačítko Přidat přidejte nový záznam.Klepněte na tlačítko aktualizace upravovat nový záznam.Klepněte na tlačítko Odstranit nový záznam odstranit.
Viz také
Úkoly
How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)
Walkthrough: Creating LINQ to SQL Classes (O/R Designer)
Koncepty
DataContext Methods (O/R Designer)