Last modified: March 09, 2015

Applies to: Windows | Windows Server

The JET_TABLEID data type contains a handle to the database cursor to use for a call to the JET API. A cursor can only be used with the session that was used to open that cursor.


Data Types


Either NULL or JET_tableidNil can be used to indicate an invalid cursor handle.


A cursor manages the use of a table for the database engine. A cursor can do the following tasks:

  • Scan records

  • Search for records

  • Choose the effective sort order and visibility of those records

  • Create, update, or delete records

  • Modify the schema of the table

The supported functionality of the cursor might change as the status or type of the underlying table changes. For example, a temporary table might disallow searching for data when it is opened with certain options. The cursor is always fully connected to the underlying table and interacts with that data directly without any caching. Almost all of the core ISAM functionality that is exposed by this database engine is works through the cursor.

A cursor can be created using JetOpenTable or JetOpenTempTable. A cursor can be duplicated using JetDupCursor. A cursor can be explicitly closed using JetCloseTable or implicitly closed using JetEndSession or JetTerm. A cursor can also be implicitly closed by JetRollback if it was opened in the transaction that was aborted. The maximum number of cursors that can be created at any one time is controlled by JET_paramMaxCursors, which can be configured using JetSetSystemParameter.



Requires Windows Vista, Windows XP, or Windows 2000 Professional.


Requires Windows Server 2008, Windows Server 2003, or Windows 2000 Server.


Declared in Esent.h.

See Also