Freigeben über


_DBRead( ), API-Bibliotheksroutine

Setzt den aktuellen Datensatzzeiger auf den angegebenen Datensatz im angegebenen Arbeitsbereich.

int _DBRead(int workarea, long record)
int workarea;               /* Work area. */
long record;                  /* Record number. */

Hinweise

_DBRead( ) gibt 0 zurück, wenn die Routine ausgeführt wurde. Konnte die Routine nicht ausgeführt werden, gibt _DBRead( ) eine negative ganze Zahl zurück, deren absoluter Wert eine Visual FoxPro-Fehlernummer darstellt.

Die Angabe von 0 für record entspricht der Angabe von GO TOP; die Angabe von -1 für record entspricht der Angabe von GO BOTTOM.

Weitere Informationen zum Erstellen einer API-Bibliothek und ihrer Integration in Visual FoxPro finden Sie unter Zugreifen auf die Visual FoxPro-API.

Beispiel

Im folgenden Beispiel wird eine Funktionalität unterstützt, die der des Visual FoxPro-Befehls GO ähnlich ist. XGO(n) verschiebt den aktuellen Datensatzzeiger auf Datensatz Nummer n im aktuellen Arbeitsbereich.

Visual FoxPro-Code

SET LIBRARY TO DBREAD
DO CreateTest
USE Test SHARED
GO BOTTOM
? RECNO()
= XGO(2)
? RECNO()

PROCEDURE CreateTest
   CREATE TABLE test (ABC C(20))
   APPEND BLANK
   REPLACE ABC WITH "This is record 1"
   APPEND BLANK
   REPLACE ABC WITH "This is record 2"
   APPEND BLANK
   REPLACE ABC WITH "This is record 3"
   APPEND BLANK
   REPLACE ABC WITH "This is record 4"
   GO TOP
RETURN

C-Code

#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   _DBRead(-1, parm->p[0].val.ev_long);
}

FoxInfo myFoxInfo[] = {
   {"XGO", (FPFI) Example, 1, "I"},
};
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo
};

Siehe auch

_DBRewind( ), API-Bibliotheksroutine | _DBSkip( ), API-Bibliotheksroutine | _DBUnwind( ), API-Bibliotheksroutine | GO | GOTO-Befehl