Share via


_DBStatus( ) API Library Routine

Returns status flags for the specified work area.

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

Remarks

If no table is open in the specified work area, _DBStatus( ) returns a negative integer whose absolute value is a Visual FoxPro error number. The following table shows returned status flags:

Flag

Setting

DB_BOF

Set under the same conditions as the Visual FoxPro function BOF( ).

DB_EOF

Set under the same conditions as the Visual FoxPro function EOF( ).

DB_RLOCKED

Set when the current record is locked, the table is locked, or the table is open exclusively.

DB_FLOCKED

Set when the table is locked or the table is open exclusively.

DB_EXCLUSIVE

Set when the table is open exclusively.

DB_READONLY

Set when the table is open without write access.

For more information on how to create an API library and integrate it with Visual FoxPro, see Accessing the Visual FoxPro API.

Example

The following example displays the status of the table open in the current work area. It checks each bit in the value returned by _DBStatus( ) and displays an appropriate message to the screen.

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
};

See Also

Concepts

API Library Routines A-Z

Reference

_DBLock( ) API Library Routine

_DBUnlock( ) API Library Routine

BOF( ) Function

EOF( ) Function

ISRLOCKED( ) Function

ISFLOCKED( ) Function

ISEXCLUSIVE( ) Function

ISREADONLY( ) Function

Other Resources

Accessing the Visual FoxPro API

API Library Routines by Category