---
name: "OpenDBX_Stmt"
section: "3"
platform: "linux"
package: "opendbx"
version: "1.4.6-13"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/OpenDBX_Stmt"
---

# OpenDBX\_Stmt(3)

Statement object.

## NAME

OpenDBX::Stmt - Statement object.

## SYNOPSIS

\#include \<api.hpp\>

### Public Types

enum **Type** \
 Statement objects which can be created.

### Public Member Functions

**Result** **execute** ()\
 Executes a statement and returns a **Result** instance.  **Stmt** & **operator=** (const **Stmt** &ref)  throw ()\
 Assigns a statement instance to another one.  **Stmt** (const Stmt &ref)  throw ()\
 Copy constructor.  **~Stmt** ()  throw ()\
 Destroys the statement instance if no other references exist.

### Protected Member Functions

**Stmt** ()  throw ()\
 Default constructor.  **Stmt** (Stmt\_Iface \*impl)\
 Creates a statement instance.

## Detailed Description

Statement object.

**Author**

Norbert Sendetzky norbert@linuxnetworks.de

**Version**

1\.0

## Member Enumeration Documentation

### enum OpenDBX::Stmt::Type

Statement objects which can be created. Currently, only simple processing of statements is supported which means that the statement sent to the database server consists of the statement and the parameters in text form. Later on, also prepared statements will be available which separates parsing and execution with different parameters.

## Constructor & Destructor Documentation

### OpenDBX::Stmt::Stmt () \[inline\], \[protected\]

Default constructor. The default constructor isn't part of the public interface as the object must not be created manually. Instead, the **Conn::create()** method is a factory for instances of the **Stmt** class.

**Returns**

Statement instance

### OpenDBX::Stmt::Stmt (Stmt\_Iface \* impl) \[protected\]

Creates a statement instance. The constructor isn't part of the public interface as the object must not be created manually. Instead, the **Conn::create()** method is a factory for instances of the **Stmt** class.

**Parameters**

*impl* Pointer to private implementation

**Exceptions**

*std::exception* If an error occures

**Returns**

Statement instance

### OpenDBX::Stmt::~Stmt ()

Destroys the statement instance if no other references exist. Each statement object uses a reference counter to remember if the internal variables are shared with other objects. If this isn't the case or if this object is the last one referencing the variables, the object is cleaned up and the allocated memory freed.

### OpenDBX::Stmt::Stmt (const Stmt & ref)

Copy constructor. Enables the transfer of the internal state of an object *ref* of the same type to this object. Both objects share the same variables and the reference counter afterwards. The reference counter is incremented each time an object is copied and will be decremented if it is destroyed.

**Parameters**

*ref* Original statement object instance

## Member Function Documentation

### Result OpenDBX::Stmt::execute ()

Executes a statement and returns a **Result** instance. Sends the necessary data to the database server which will execute the statement and return one or more result sets afterwards. The result sets can be fetched via the returned **Result** object.

**Returns**

**Result** instance

**Exceptions**

**OpenDBX::Exception If the underlying database library returns an error**

**See also**

**Result**

### Stmt & OpenDBX::Stmt::operator= (const Stmt & ref)

**Assigns a statement instance to another one. Assigns the internal state of an object** *ref* **of the same type to this object. Both objects share the same variables and the reference counter afterwards. The reference counter is incremented each time an object is copied and will be decremented if it is destroyed.**

**Parameters**

*ref* **Stmt instance**

**Returns**

**Statement reference of this instance**

## Author

**Generated automatically by Doxygen for opendbx from the source code.**
