1. Výjimka v databázi

    Článek: AN0001620Aktualizováno::

    Systém ObjectGears může být rozšířen na úrovni databáze a to pomocí procedur nebo přidání jedinečných indexů na tabulkách (třídách).

    Při určitých situacích je však třeba z databáze vrátit vyjímku. Níže jsou popsány jednotlivé možné případy.

    Dotaz z uložené procedury

    Pokud dotaz čte data z uložené procedury, pak stačí v T-SQL zavolat funkci raiserror.

    raiserror( 'Popis chyby...', 16, 1)

    Uložené procedury a triggery

    V uložených procedurách a triggerech stačí stejně jako u dotazů pouze zavolat funkci raiserror

    Přidání jedinečného indexu na tabulce

    V aktuální verzi systém ObjectGears přímo nepodporuje vytváření jedinečných indexů. To však lze implementovat na úrovni databáze. Na tabulku třídy přidejte pro požadované sloupce jedinečný index (UNIQUE INDEX). Po jeho přidání se na formulářích začne vypisovat chyba, pokud by mělo dojít k jeho narušení. Tato chyba je však pro uživatele nesrozumitelná a je třeba ji přeložit do běžného textu s vysvětlením, co se stalo a co má uživatel udělat.

    Pro řešení stačí ručně do tabulky DBException přidat odpovídající záznam. Do záznamu vložíte kód SQL chyby, 1-2 texty, které chyba obsahuje (stačí název indexu) a popis chyby. Text chyby může být lokalizován ve formátu, který používá systém ObjectGears. Následně se již bude zobrazovat uživatelsky přívětivá chyba.

×