Vytváření parametrizovaných dotazů TableAdapter v aplikacích rozhraní .NET Framework
Poznámka:
Datové sady a související třídy jsou staršími technologiemi rozhraní .NET Framework z počátku 2000, které aplikacím umožňují pracovat s daty v paměti, zatímco aplikace jsou odpojené od databáze. Tyto technologie jsou zvláště užitečné pro aplikace, které uživatelům umožňují upravovat data a uchovávat změny zpět do databáze. I když se datové sady ukázaly jako velmi úspěšná technologie, doporučujeme, aby nové aplikace .NET používaly Entity Framework Core. Entity Framework poskytuje přirozenější způsob práce s tabulkovými daty jako objektovými modely a má jednodušší programovací rozhraní.
Parametrizovaný dotaz vrátí data, která splňují podmínky WHERE
klauzule v dotazu. Můžete například parametrizovat seznam zákazníků tak, aby zobrazoval pouze zákazníky v určitém městě přidáním WHERE City = @City
na konec příkazu SQL, který vrací seznam zákazníků.
V Návrháři datových sad vytvoříte parametrizované dotazy TableAdapter. Můžete je také vytvořit v aplikaci pro Windows pomocí příkazu Parameterize Data Source v nabídce Data. Příkaz Parametrizovat zdroj dat vytvoří ovládací prvky ve formuláři, kde můžete zadat hodnoty parametrů a spustit dotaz.
Poznámka:
Při vytváření parametrizovaného dotazu použijte zápis parametru, který je specifický pro databázi, pro kterou kódujete. Například Access a OleDb zdroje dat používají otazník "?" k označení parametrů, takže WHERE
klauzule by vypadala takto: WHERE City = ?
.
Vytvoření parametrizovaného dotazu TableAdapter
Vytvoření parametrizovaného dotazu v Návrháři datových sad
Vytvořte nový TableAdapter a do příkazu SQL přidejte
WHERE
klauzuli s požadovanými parametry. Další informace najdete v tématu Vytvoření a konfigurace objektů TableAdapter.nebo
Přidejte dotaz do existujícího objektu TableAdapter a do příkazu SQL přidejte
WHERE
klauzuli s požadovanými parametry.
Vytvoření parametrizovaného dotazu při návrhu formuláře vázaného na data
Vyberte ovládací prvek ve formuláři, který je již svázán s datovou sadou. Další informace najdete v tématu Vytvoření vazby model Windows Forms ovládacích prvků k datům v sadě Visual Studio.
V nabídce Data vyberte Přidat dotaz.
Dokončete dialogové okno Tvůrce kritérií vyhledávání a do příkazu SQL přidejte
WHERE
klauzuli s požadovanými parametry.
Přidání dotazu do existujícího formuláře vázaného na data
Otevřete formulář v návrháři model Windows Forms.
V nabídce Data vyberte Přidat dotaz nebo inteligentní značky dat.
Poznámka:
Pokud příkaz Add Query není v nabídce Data k dispozici, vyberte ovládací prvek ve formuláři, který zobrazuje zdroj dat, ke kterému chcete přidat parametrizaci. Pokud například formulář zobrazuje data v ovládacím DataGridView prvku, vyberte ho. Pokud formulář zobrazuje data v jednotlivých ovládacích prvcích, vyberte libovolný ovládací prvek vázaný na data.
V oblasti Vybrat tabulku zdroje dat vyberte tabulku, do které chcete přidat parametrizaci.
Pokud vytváříte nový dotaz, zadejte název do pole Nový název dotazu.
nebo
Vyberte dotaz v poli Název existujícího dotazu .
Do textového pole dotazu zadejte dotaz, který přebírá parametry.
Vyberte OK.
Ovládací prvek pro zadání parametru a tlačítko Načíst se přidá do formuláře v ovládacím ToolStrip prvku.
Dotaz na hodnoty null
Parametry TableAdapter lze přiřadit hodnoty null, pokud chcete dotazovat na záznamy, které nemají aktuální hodnotu. Představte si například následující dotaz, který má ShippedDate
v klauzuli WHERE
parametr:
SELECT CustomerID, OrderDate, ShippedDate
FROM Orders
WHERE (ShippedDate = @ShippedDate) OR (ShippedDate IS NULL)
Pokud se jedná o dotaz na TableAdapter, můžete zadat dotaz na všechny objednávky, které nebyly dodány s následujícím kódem:
Povolení, aby dotaz přijímal hodnoty null:
V Návrháři datových sad vyberte dotaz TableAdapter, který musí přijímat hodnoty parametrů null.
V okně Vlastnosti vyberte Parametry a pak výběrem tlačítka se třemi tečky (...) otevřete Editor kolekce parametrů.
Vyberte parametr, který umožňuje hodnoty null a nastavte AllowDbNull vlastnost .
true