Sdílet prostřednictvím


Postupy: Filtrování výsledků dotazu pomocí LINQ (Visual Basic)

Integrované jazyk dotazu (LINQ) usnadňuje přístup k databázi informace a provádět dotazy.

Následující příklad ukazuje, jak vytvořit novou aplikaci, která provádí dotazy vůči databázi serveru SQL Server a filtruje výsledky podle určité hodnoty pomocí Where klauzule.Další informace naleznete v tématu Where – klauzule (Visual Basic).

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.

[!POZNÁMKA]

Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.

Vytvoření připojení k databázi

  1. Otevřít v aplikaci Visual Studio Server Explorer/Explorer databáze klepnutím na Server Explorer/Explorer databáze na zobrazení nabídce.

  2. Pravým tlačítkem myši na Připojení dat v Server Explorer/Explorer databáze a klepněte na tlačítko Přidat připojení.

  3. Zadejte platné připojení k ukázkové databázi Northwind.

Přidat projekt, který obsahuje LINQ soubor SQL

  1. 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.

  2. V nabídce Projekt klikněte na příkaz Přidat novou položku.Vyberte LINQ třídy SQL položku šablony.

  3. Název souboru northwind.dbml.Klikněte na tlačítko Přidat.Relační Object Designer (Návrhář O/R) otevře soubor northwind.dbml.

Přidání tabulky do dotazu na autora O/R

  1. 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 poklepáním na soubor northwind.dbml, který jste přidali dříve.

  2. Klepněte na tabulku Zákazníci a přetáhněte ho do levého podokna Návrháře.Klepněte na tabulku objednávky a přetáhněte ho do levého podokna Návrháře.

    Návrhář vytváří nové Customer a Order objekty v projektu.Všimněte si, že návrhář automaticky rozpozná relace mezi tabulkami a vytvoří podřízené vlastnosti související objekty.Například technologie IntelliSense zobrazí Customer objekt má Orders týkající se vlastností pro všechny objednávky zákazníka.

  3. Uložte změny a zavřete Návrhář.

  4. Uložte projekt.

Přidání kódu k dotazu v databázi a zobrazit výsledky

  1. Z nástrojů, přetáhněte DataGridView řízení do výchozího formuláře systému Windows pro váš projekt Form1.

  2. Poklepejte na Form1 přidání kódu Load události formuláře.

  3. Po přidání tabulky do Návrháře O/R Návrhář přidány DataContext objektu pro projekt.Tento objekt obsahuje kód, který musí mít přístup k tyto tabulky vedle jednotlivých objektů a kolekcí pro každou tabulku.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 v kódu a dotazu tabulky určit návrhář O/R.

    Přidejte následující kód Load události do tabulek, které jsou vystaveny jako vlastnosti kontextu dat dotazu.Filtruje výsledky dotazu a vrátí pouze zákazníky, které jsou umístěny v London.

    Dim db As New northwindDataContext
    
    Dim customers_London = From cust In db.Customers 
                           Where cust.City = "London"  
                           Select cust.CustomerID, cust.CompanyName, 
                                  OrderCount = cust.Orders.Count, 
                                  cust.City, cust.Country
    
    DataGridView1.DataSource = customers_London
    
  4. Stisknutím klávesy F5 projektu spustit a zobrazit výsledky.

  5. Následují některé filtry, které můžete vyzkoušet.

    Dim companies_H = From cust In db.Customers 
                      Where cust.Orders.Count > 0 And
                            cust.CompanyName.StartsWith("H") 
                      Select cust.CustomerID, cust.CompanyName, 
                             OrderCount = cust.Orders.Count, 
                             cust.Country
    
    Dim customers_USA = From cust In db.Customers 
                        Where cust.Orders.Count > 15 And
                              cust.Country = "USA"  
                        Select cust.CustomerID, cust.CompanyName, 
                               OrderCount = cust.Orders.Count, 
                               cust.Country
    

Viz také

Úkoly

Walkthrough: Creating LINQ to SQL Classes (O/R Designer)

Koncepty

DataContext Methods (O/R Designer)

Další zdroje

LINQ v jazyce Visual Basic

Dotazy (Visual Basic)

LINQ to SQL [LINQ to SQL]