Freigeben über


_DBStatus( ), API-Bibliotheksroutine

Gibt Statusattribute für den angegebenen Arbeitsbereich zurück.

int _DBStatus(int workarea)
int workarea;               /* Work area. */

Hinweise

Ist im angegebenen Arbeitsbereich keine Tabelle geöffnet, gibt _DBStatus( ) eine negative ganze Zahl zurück, deren absoluter Wert eine Visual FoxPro-Fehlernummer darstellt. In der folgenden Tabelle sind zurückgegebene Statusattribute aufgeführt:

Flag Einstellung
DB_BOF Wird unter denselben Bedingungen festgelegt wie die Visual FoxPro-Funktion BOF( ).
DB_EOF Wird unter denselben Bedingungen festgelegt wie die Visual FoxPro-Funktion EOF( ).
DB_RLOCKED Wird festgelegt, wenn der aktuelle Datensatz gesperrt ist, die Tabelle gesperrt ist oder die Tabelle exklusiv geöffnet ist.
DB_FLOCKED Wird festgelegt, wenn die Tabelle gesperrt oder exklusiv geöffnet ist.
DB_EXCLUSIVE Wird festgelegt, wenn die Tabelle exklusiv geöffnet ist.
DB_READONLY Wird festgelegt, wenn die Tabelle schreibgeschützt geöffnet wird.

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 der Status der im aktuellen Arbeitsbereich geöffneten Tabelle angezeigt. Jedes Bit des von DBStatus( ) zurückgegebenen Werts wird überprüft. Anschließend wird eine entsprechende Meldung auf dem Bildschirm angezeigt.

Visual FoxPro-Code

SET LIBRARY TO DBSTATUS
= DBSTATUS()  && displays status of DBF in current work area

C-Code

#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
{
   int dbstatus = _DBStatus(-1);
   _PutStr("\nStatus of DBF in current work area:");
   if (dbstatus & DB_BOF)
      _PutStr("\nBOF()");
   if (dbstatus & DB_EOF)
      _PutStr("\nEOF()");
   if (dbstatus & DB_RLOCKED)
      _PutStr("\nCurrent record is RLOCKed");
   if (dbstatus & DB_FLOCKED)
      _PutStr("\nDatabase is FLOCKed");
   if (dbstatus & DB_EXCLUSIVE)
      _PutStr("\nDatabase is open EXCLUSIVEly");
   if (dbstatus & DB_READONLY)
      _PutStr("\nDatabase is READONLY");
}

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

Siehe auch

_DBLock( ), API-Bibliotheksroutine | _DBUnlock( ), API-Bibliotheksroutine | Zugreifen auf die Visual FoxPro-API | BOF( )-Funktion | EOF( )-Funktion | ISRLOCKED( )-Funktion | ISFLOCKED( )-Funktion | ISEXCLUSIVE( )-Funktion | ISREADONLY( )-Funktion