_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