Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poznámka:
Třídy DataSet a související třídy jsou starší technologie rozhraní .NET Framework z počátku 2000, které umožňují aplikacím pracovat s daty v paměti, zatímco aplikace jsou odpojeny 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ž jsou datové sady ověřenou úspěšnou technologií, doporučeným přístupem pro nové aplikace .NET je použití 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
WHEREklauzuli 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
WHEREklauzuli 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 naleznete v tématu Vytvoření vazby ovládacích prvků Windows Forms 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
WHEREklauzuli s požadovanými parametry.
Přidání dotazu do existujícího formuláře vázaného na data
Otevřete formulář v Windows Forms Designeru .
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á parametr ShippedDate v klauzuli WHERE.
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