Internet klienti v 602SQL – WBC konektory 2.
Predchádzajúci článok bol venovaný WBC konektorom – od syntaxe až po použitie systémových premenných. V tomto článku popis WBC konektorou dokončíme rozborom príkazov a definovaním chybovej šablóny.
Príkazy vo WBC konektore
Konektor môže obsahovať riadiace príkazy IF, IFEXISTS a REPEAT
. Musia začínať na začiatku riadku a predchádza ich znak #
. IF je normálny podmienený príkaz vetvenia a môže sa nachádzať hocikde v konektore:
#if výraz1
…
#elseif výraz2
…
#else
…
#endif
Ak je splnená podmienka daná prvým výrazom, bude interpretovaná časť konektora až do prvého #elseif
. V prípade, že je splnená podmienka druhého výrazu, vykoná sa časť textu konektora až po #else
. V opačnom prípade sa vykoná časť medzi #else
a #endif
. V príkaze môže byť ľubovoľný počet častí #elseif
, časť #else
môže by uvedená len raz.
Príkaz IFEXISTS
je špeciálny podmienený príkaz vetvenia. V rámci konektoru sa môže nachádzať len vnútri bloku SQLStatement
. Syntax:
#ifexists
+ SQL_príkaz_SELECT …
#then
+ riadok_SQL_príkazu …
#else
+ riadok_SQL_príkazu …
#endif
Ak príkaz SQL SELECT
v prvej časti obsahuje aspoň jeden záznam, vykoná sa riadok (riadky) SQL príkazu uvedeného v druhej časti. Ak nie, vykoná sa riadok uvedený v tretej časti.
Príkaz REPEAT
môže byť tiež len v časti SQLStatement
. Spôsobí opakované vygenerovanie časti textu SQLStatementu na základe hodnoty riadiacej premennej var
a za použitia oddeľovača delimiter
:
#repeat var=riadiaca_premenná delimiter=oddelovac
+ riadok_SQL_príkazu …
#endrepeat
Typické použitie REPEAT
je na automatické generovanie textu podmienky WHERE:
+ WHERE (ABC=1) AND (
#repeat var=riad_prem delimiter=` OR `
+ (DEF= „%riad_prem%“)
#endrepeat
+ )
Ak premenná riad_prem
vo vstupnom formulári nadobudla hodnoty 1 a 2 (je typu CHECKBOX), potom WBIK doplní text WHERE takto:
+ WHERE (ABC=1) AND ((DEF=1) OR (DEF=2))
Definovanie chybovej šablóny
V konektore je tiež možné definovať takzvanú chybovú šablónu. Ide o jednoduchú šablónu bez konektora (ak obsahuje WBC časť, bude ignorovaná), ktorá má za úlohu informovať používateľa o vzniknutí chyby a dať mu možnosť reagovať (napríklad vrátiť sa späť). Šablóna pre WBC konektor sa definuje príkazom:
ErrorTemplate: meno_chybovej_sablony
Ak nie je uvedená, WBIK pohľadá šablónu s názvom deferr
, ak ju nenájde, použije štandardnú hlášku s výpisom čísiel chýb. V chybovej šablóne sa obvykle používa podmienka na existenciu chyby na základe špeciálnych chybových premenných a číselníka chýb, napríklad:
<html>
<%if HTWErrorCode == 47%>
<head>
<meta http-equiv=“Content-Type“
content=“text/html; charset=windows-1250″>
<title>
Doplňte chýbajúce údaje
</title>
</head>
<body>
V predchádzajúcom formulári ste nevyplnili všetky údaje. Tlačítkom Back (Späť) Vášho prehliadača sa vráťte naspäť a doplňte tieto údaje!
</body>
<%else%>
…
<%endif%>
</html>
Číselník chýb je obsiahly a určite nemá význam ho tu zverejňovať. Uvediem len niekoľko chýb, s ktorými sa najmä zo začiatku budete pravdepodobne častejšie potýkať:
- 1: nelze nalézt WBC konektor
- 9: neznámý příkaz WBC preprocesoru
- 21: nelze nalézt HTW šablonu
- 22: neznámý HTW příkaz
- 47: chybí povinná hodnota proměnné vyžadovaná blokem RequiredValues
Ďalšie príkazy konektora
Na doplnenie obrazu o možnostiach konektorov uvediem ešte niekoľko ďalších príkazov:
RequiredValues: meno_premennej [povinny_pocet_hodnot]
– umožňuje uviesť povinné vstupné premenné, prípadne aj minimálne požiadavky na ne (napríklad počet znakov u textového reťazca). V opačnom prípade bude generovaná chyba a zavolaná chybová šablóna.MaxRecords: pocet
– umožňuje obmedziť počet záznamov SELECT-u v blokuSQLStatement
. Je to jednoduchší ekvivalent príkazu LIMIT jazyka SQL.Relogin: výraz
– spôsobí prihlásenie iného klienta 602SQL (internet klient má štandardne meno __web). Výraz môže mať formát “meno:heslo“ alebo “meno:stareheslo:noveheslo“. V prvom prípade sa používateľ len prihlási, v druhom prípade dôjde aj k zmene hesla.Template: nazov_sablony
– spôsobí zavolanie šablóny po vykonaní príkazov v konektore. Použiteľné len ak je konektor ako samostatný objekt (t.j. neobsahuje text prislúchajúci šablóne).
Práve ste sa dopracovali až k záveru popisu konektorov jazyka WBIK. V nasledujúcom článku si popíšeme niektoré špeciálne prípady z praxe.
Mohlo by vás také zajímat
-
Aukce CZ domén: Jak vydražit expirovanou CZ doménu?
12. června 2024 -
Proč je důležité tvořit obsah na váš web?
29. srpna 2024 -
Gaming na HDR monitoru: Stojí to za to?
12. srpna 2024
Nejnovější
-
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024 -
Chcete jedinečnou doménu? Objevte koncovky FOOD, MEME a MUSIC!
7. listopadu 2024 -
OpenAI představilo novou funkci ChatGPT Search
6. listopadu 2024