Write_record

c/c++pascal

BOOL [cd_]Write_record([cdp_t cdp], tcurstab curs, trecnum position, void * buffer, uns16 datasize)
function [cd_]Write_record([cdp : cdp_t]; curs : tcurstab; position : trecnum; var buffer; datasize : uns16) : Boolean;

Parametry

curs číslo tabulky nebo otevřeného kurzoru
position číslo záznamu
buffer buffer obsahující data
datasize velikost dat v bajtech
[cdp kontextová proměnná klienta]

Popis

Funkce zapíše celý záznam do tabulky zadané svým číslem (nalezeným funkcí Find_object) nebo kurzoru (otevřeného funkcí Open_cursor nebo Open_cursor_direct).

Funkce zapíše do záznamu s číslem position v tabulce nebo kurzoru curs všechny sloupce. Hodnoty těchto sloupců musí být v proměnné buffer bezprostředně za sebou a jejich celková velikost musí být datasize.

Hodnoty sloupců musí být v buffer v tom pořadí, v němž jsou definovány v tabulce nebo kurzoru curs. Funkce nepracuje se sloupcem DELETED ani s hodnotami sloupců proměnné velikosti. Pro ně se v buffer nevynechává žádné místo. Pro každý zapisovaný sloupec typu řetězec musí být v parametru buffer o jeden bajt více, než činí maximální délka řetězce.

Od verze 7.0 existuje novější funkce Write_record_ex, která umožní zapsat do zadaného záznamu jen ty sloupce, které jsou vyjmenované (stejně jako UPDATE v SQL).

Hodnota funkce

Funkce vrací při úspěchu FALSE, při neúspěchu TRUE.

Viz