Postupy: Řazení výsledků dotazu pomocí LINQ (Visual Basic)
Language-Integrated Query (LINQ) usnadňuje přístup k informacím o databázi a spouštění dotazů.
Následující příklad ukazuje, jak vytvořit novou aplikaci, která provádí dotazy na databázi SQL Serveru a seřadí výsledky podle více polí pomocí klauzule Order By
. Pořadí řazení pro každé pole může být vzestupné nebo sestupné. Další informace naleznete v tématu Order By Klauzule.
Příklady v tomto článku používají ukázkovou databázi Northwind. Chcete-li získat databázi, podívejte se na stahování ukázkových databází.
Poznámka
Počítač může v následujících pokynech zobrazit různé názvy nebo umístění některých prvků uživatelského rozhraní sady Visual Studio. Edice sady Visual Studio, kterou máte, a nastavení, která používáte, určují tyto prvky. Další informace najdete v tématu Přizpůsobeníintegrovaného vývojového prostředí (IDE).
Vytvoření připojení k databázi
V sadě Visual Studio otevřete Průzkumníka serveru /Průzkumníka databáze kliknutím na Průzkumníka serveru /Průzkumníka databáze v nabídce Zobrazení .
Klepněte pravým tlačítkem myši Datová připojení v Průzkumník serveru/Průzkumník databáze a klepněte na tlačítko Přidat připojení.
Zadejte platné připojení pro ukázkovou databázi Northwind.
Přidání projektu, který obsahuje soubor LINQ to SQL
V sadě Visual Studio v nabídce Soubor vyberte možnost Nový a potom klepněte na tlačítko Projekt. Jako typ projektu vyberte Visual Basic Windows Forms Application.
V nabídce Project klikněte na Přidat novou položku. Vyberte šablonu položky LINQ to SQL třídy.
Pojmenujte soubor
northwind.dbml
. Klikněte na Přidat. Objektový relační návrhář (O/R Designer) je otevřen pro soubor northwind.dbml.
Přidání tabulek do dotazu v Návrháři objektově-relačních relací
V Průzkumník serveru/Průzkumník databázerozbalte připojení k databázi Northwind. Rozbalte složku Tabulky.
Pokud jste návrhář relací zavřeli, můžete ho znovu otevřít poklikáním na soubor northwind.dbml, který jste přidali dříve.
Klikněte na tabulku Zákazníci a přetáhněte ji do levého podokna návrháře. Klikněte na tabulku Objednávky a přetáhněte ji do levého podokna návrhářského rozhraní.
Návrhář pro váš projekt vytvoří nové
Customer
aOrder
objekty. Všimněte si, že návrhář automaticky rozpozná relace mezi tabulkami a vytvoří podřízené vlastnosti pro související objekty. IntelliSense například zobrazí, že objektCustomer
má vlastnostOrders
pro všechny objednávky související s tímto zákazníkem.Uložte změny a zavřete návrháře.
Uložte projekt.
Přidání kódu pro dotazování databáze a zobrazení výsledků
Ze Panelu nástrojůpřetáhněte ovládací prvek DataGridView do výchozího formuláře Windows Form pro váš projekt Form1.
Poklikáním na Form1 přidáte kód do události
Load
formuláře.Po přidání tabulek do O/R návrháře přidal návrhář do projektu objekt DataContext. Tento objekt obsahuje kód, který musíte mít pro přístup k těmto tabulkám, a pro přístup k jednotlivým objektům a kolekcím pro každou tabulku. Objekt DataContext pro váš projekt je pojmenován na základě názvu souboru .dbml. Pro tento projekt má objekt DataContext název
northwindDataContext
.V kódu můžete vytvořit instanci DataContext a dotazovat se na tabulky určené Návrhářem relací objektů.
Do události
Load
přidejte následující kód pro dotazování tabulek, které jsou vystavené jako vlastnosti kontextu dat, a seřaďte výsledky. Dotaz seřadí výsledky podle počtu objednávek zákazníků v sestupném pořadí. Zákazníci se stejným počtem objednávek jsou seřazeni podle názvu společnosti ve vzestupném pořadí (výchozí nastavení).Dim db As New northwindDataContext Dim q = From cust In db.Customers Where cust.Orders.Count > 0 Select cust.CustomerID, cust.CompanyName, OrderCount = cust.Orders.Count, cust.Country Order By OrderCount Descending, CompanyName DataGridView1.DataSource = q
Stisknutím klávesy F5 spusťte projekt a zobrazte výsledky.