ODBC_open_cursor

Internφ programovacφ jazykC/C++Pascal

function ODBC_open_cursor(connection : integer; var curs : cursor; var query : string) : Boolean;
BOOL [cd_]ODBC_open_cursor([cdp_t cdp], uns32 connection, tcursnum *curs, const char * query);
function [cd_]ODBC_open_cursor([cdp : cdp_t]; connection : uns32; var curs : tcursnum; query : PChar) : Boolean;

Parametry

connection Φφslo spojenφ na zdroj dat
curs v²st. parametr - Φφslo otev°enΘho ODBC kurzoru - viz podrobnosti
query zßpis p°φkazu SELECT
[cdp kontextovß prom∞nnß klienta]

Popis

Funkce dostane v parametru connection Φφslo spojenφ na ODBC zdroj dat a v parametru query zßpis p°φkazu SELECT jazyka SQL. V parametru curs vrßtφ Φφslo otev°enΘho ODBC kurzoru.

S ODBC kurzorem se pracuje stejn∞ jako s b∞₧n²m kurzorem s n∞kter²mi omezenφmi.

ODBC kurzor se zavφrß funkcφ Close_cursor. P°i skonΦenφ b∞hu programu ve vnit°nφm jazyce se zav°ou vÜechny neuzav°enΘ ODBC kurzory.

Prßce s ODBC zdroji dat v programu - viz podrobnosti.

Hodnota funkce

Funkce p°i ·sp∞chu vracφ FALSE, p°i chyb∞ TRUE.

P°φklad:

Programov∞ p°enΘst obsah DBF tabulky p°ipojenΘ p°es ODBC do pomocnΘ tabulky ve WinBase:

var 
  c_odbc : cursor;    
  conn, rec, pocet  : integer;
  i : integer;
  odbc_jmeno : string[200];
  odbc_date : date;
  odbc_cislo : integer;
begin
  conn:= ODBC_find_connection('dBASE Files');
  if conn=0 then halt;
  if ODBC_open_cursor(conn, c_odbc, 'SELECT jmeno,datum_pr,cislo FROM ADRESY2') then halt;
  rec_cnt(c_odbc,pocet);  
  //info_box('PoΦet zßznam∙', int2str(pocet));

  for i := 0 to pocet-1 do begin
    odbc_jmeno := c_odbc[i].jmeno;
    odbc_date := c_odbc[i].datum_pr;
    odbc_cislo := c_odbc[i].cislo;

    rec := Insert(PomTab);
    PomTab[rec].jmeno := odbc_jmeno;
    PomTab[rec].datum := odbc_date;
    PomTab[rec].cislo := odbc_cislo;

  end;
  close_cursor(c_odbc);
end.

Viz