Parametry
curs | prom∞nnß typu kurzor (neboli prom∞nn² kurzor) - viz podrobnosti |
select | prvnφ Φßst dotazu v jazyce SQL: obsah klauzule SELECT |
from | druhß Φßst dotazu v jazyce SQL: obsah klauzule FROM |
where | t°etφ Φßst dotazu v jazyce SQL: obsah klauzule WHERE |
order | Φtvrtß Φßst dotazu v jazyce SQL: obsah klauzule ORDER BY |
Popis
Zastaralß funkce, nahrazenß obecn∞jÜφ funkcφ Open_sql_cursor
.
Funkce otev°e prom∞nn² kurzor, kter² je odpov∞dφ na zadan² dotaz query v jazyce SQL. Dotaz se zadß po Φßstech - ka₧dß ve zvlßÜtnφm °et∞zci o dΘlce max. 255 znak∙. Funkce p°idß p°ed jednotlivΘ Φßsti slova "SELECT", "FROM", "WHERE" a "ORDER BY" a z°et∞zφ je za sebou. Tφm zφskß kompletnφ dotaz a pak pracuje stejn∞ jako funkce Open_sql_cursor
. Parametry where a order mohou b²t prßzdnΘ °et∞zce.
Hodnota funkce
Funkce vracφ hodnotu FALSE, pokud se akci poda°ilo ·sp∞Ün∞ provΘst. V opaΦnΘm p°φpad∞ vracφ TRUE a povahu chyby lze zjistit volßnφm funkce Signalize
. Nejb∞₧n∞jÜφ p°φΦinou chyby je nesprßvnß syntaxe dotazu nebo to, ₧e kurzor je ji₧ otev°en. DoporuΦujeme v₧dy testovat v²sledek tΘto funkce.
P°φklad:
... else if msg=MSG_INT_JE then begin
{ do prom∞nn²ch start a stop je zadßn interval dat pro zobrazenφ zßznam∙ }
dolnφ:='(datum>='+ start + ')'; hornφ:='(datum<='+ stop + ')'); podmφnka:=''; if start<>'' then podmφnka:=dolnφ; if stop <>'' then if podmφnka='' then podmφnka:=hornφ else begin
{ vytvo°enφ podmφnky pro definici kurzoru
} podmφnka:=dolni + 'AND' + hornφ; end; if podmφnka<>"" then begin
{otev°enφ prom∞nnΘho kurzoru sql_curs}
if not Open_sql_parts(sql_curs, "*", "tpenφze", podmφnka, "datum") then begin
{otev°enφ pohledu do kurzoru sql_parts} Open_view("*pp°ehled", sql_curs, AUTO_CURSOR+NO_INSERT+NO_EDIT+NO_DELETE, 0, 0, id_p°ehled)
end
else info_box("Chyba", "èpatn∞ zadßno datum!");
end end
Viz