Article: AN0001638Updated: 31.07.2018
Dotazy slouží pro zobrazení dat ze tříd, která jsou různě upravena (např. zobrazení součtů objednávek po měsíci, počty přidělených úkolů jednotlivým pracovním týmům atd.). Data se nemusí zobrazovat přímo tak, jak jsou uložena ve třídě, ale lze s nimi provádět sumarizační, skupinové a jiné operace.
Dotazů můžete vytvořit neomezené množství. Přiřazením role k dotazu lze různým skupinám uživatelů zobrazit různé dotazy.
Data z dotazů lze jenom číst. Změna není možná.
Zdroj dat dotazu
Dotaz se konstruuje jako SQL příkaz přímo do databáze (s drobnými odlišnostmi). Jako zdroj dat můžete použít třídy systému ObjectGears nebo libovolnou tabulku a view v databázi. V případě přilinkování jiného databázového serveru můžete v dotazu použít při správné SQL syntaxi i tabulky a view z linkovaného serveru.
Pro složitější dotazy je možné načíst data přímo z uložené procedury z databáze.
Společné vlastnosti se třídou
Mezi dotazem a třídou je jen pár rozdílů. Dotaz nelze aktualizovat a nemá vlastní data (čte je od jiných tříd). Se třídou má řadu stejných vlastností jako řazení a stránkování, obrázky, RSS, přístup přes role atd. Popis těchto vlastností naleznete u třídy.
Sloupce dotazu
Systém ObjectGears po kontrole syntaxe dotazu, dotaz spustí a na základě vrácených hodnot vytvoří sloupce. Z databáze lze však zjistit jen datový typ sloupce, nikoli z jaké třídy pochází. Proto je třeba někdy po vytvoření nového view dodatečně projít vytvořené sloupce a upravit jim typ. Například pokud je sloupec celé číslo, pak se může jednat o celočíselný sloupec nebo barvu.
Odkaz do jiné třídy nebo na uživatele
Při definici dotazu je možné využít zvláštní zápis pomocí, které se vytvoří sloupec typu Odkaz na třídu. Tímto typem sloupce můžete provázat data mezi dotazem a třídou a využít rychlého prokliku ze zobrazených dat dotazu na zobrazení detailu záznamu ve třídě.