Restrict_cursor

Internφ programovacφ jazyk

function Restrict_cursor(var curs : tcursnum; var condition : string) : Boolean;

Parametry

curs otev°en² pevn² kurzor - viz podrobnosti
condition text podmφnky ve tvaru v²razu typu Boolean

Popis

Funkce Restrict_cursor vytvo°φ subkurzor kurzoru curs tak, ₧e z n∞j vybere pouze ty zßznamy, kterΘ spl≥ujφ zadanou podmφnku. Tφmto subkurzorem nahradφ p∙vodnφ kurzor, tak₧e vÜechny operace s kurzorem curs se budou provßd∞t s vytvo°en²m subkurzorem. Ka₧dΘ dalÜφ pou₧itφ funkce Restrict_cursor na tent²₧ kurzor zp∙sobφ zesφlenφ celkovΘ podmφnky (podmφnky se spojujφ spojkou AND). Odstran∞nφ podmφnek p°idan²ch vÜemi provedenφmi funkce Restrict_cursor lze provΘst pouze najednou, a to funkcφ Restore_cursor. Nenφ-li v programu provedeno odstran∞nφ dodateΦn²ch podmφnek, bude program p°i skonΦenφ hlßsit Program neuzav°el vÜechny kurzory.

Funkci Restrict_cursor lze pou₧φvat pouze na pevnΘ kurzory (dotazy ulo₧enΘ v databßzi) otev°enΘ funkcφ Open_cursor.

P°i pot°eb∞ pou₧itφ na prom∞nnΘ kurzory je nutnΘ mφsto Restrict_cursor pou₧φt dvojici funkcφ Close_cursor a Open_sql_cursor se zesφlenou podmφnkou.

V externφch jazycφch tuto funkci nahrazuje funkce Open_subcursor.

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. DoporuΦujeme v₧dy testovat v²sledek tΘto funkce.

P°φklad

var
  id_p : window_id;
cursor
  SEZN_5000;

begin
   ... 
   Open_cursor(SEZN_5000);
// otev°enφ kurzoru, kter² mß v Φßsti WHERE podmφnku PLAT>5000 
   if not Restrict_cursor(SEZN_5000,"PLAT>7000") then
// z·₧enφ kurzoru podmφnkou PLAT>7000 
   Open_view("*ZAM╠ST4",SEZN_5000,0,0,0,id_p);
// otev°enφ pohledu s p°esm∞rovßnφm na z·₧en² kurzor 
  ... 

    Restore_cursor(SEZN_5000);
// nßvrat k p∙vodnφmu kurzoru 
    Open_view("*ZAM╠ST4",sezn_5000,0,0,0,id_p);
// otev°enφ pohledu do p∙vodnφho kurzoru 
    Close_cursor(SEZN_5000);
end

Viz