Dbc::count()
Prev | Chapter 3. The Dbc Handle | Next

## Dbc::count()

    #include <db_cxx.h>

    int
    Dbc::count(db_recno_t *countp, u_int32_t flags);

The `Dbc::count()` method returns a count of the number of data items for the key to which the cursor refers.

The `Dbc::count()` method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

### Parameters

#### countp

The countp parameter references memory into which the count of the number of duplicate data items is copied.

#### flags

The flags parameter is currently unused, and must be set to 0.

### Errors

The `Dbc::count()` method may fail and throw a DbException exception, encapsulating one of the following non-zero errors, or return one of the following non-zero errors:

#### DbRepHandleDeadException or DB_REP_HANDLE_DEAD

When a client synchronizes with the master, it is possible for committed transactions to be rolled back. This invalidates all the database and cursor handles opened in the replication environment. Once this occurs, an attempt to use such a handle will throw a DbRepHandleDeadException (if your application is configured to throw exceptions), or return `DB_REP_HANDLE_DEAD`. The application will need to discard the handle and open a new one in order to continue processing.

#### DbDeadlockException or DB_REP_LOCKOUT

The operation was blocked by client/master synchronization.

DbDeadlockException is thrown if your Berkeley DB API is configured to throw exceptions. Otherwise, `DB_REP_LOCKOUT` is returned.

#### EINVAL

If the cursor has not been initialized; or if an invalid flag value or parameter was specified.

### Class

Dbc

### See Also

Database Cursors and Related Methods

Prev | Up | Next
Dbc::cmp() | Home | Dbc::del()