struct CCL::Database::IStatement

Overview

An sql statement can be a command like insert, update, delete or a query (select). More…

#include <idatabase.h>

struct IStatement: public CCL::IUnknown
{
    // methods

    virtual void CCL_API bindVariable (int index, VariantRef value) = 0;
    virtual void CCL_API bindVariable (int index, StringRef value) = 0;
    virtual void CCL_API bindVariable (int index, const char* string) = 0;
    virtual void CCL_API bindVariable (int index, int64 value) = 0;
    virtual void CCL_API bindVariable (int index, double value) = 0;
    virtual void CCL_API bindVariable (int index, const IMemoryStream& blob) = 0;
    virtual void CCL_API unbindVariable (int index) = 0;
    virtual void CCL_API unbindVariables () = 0;
    virtual tbool CCL_API execute () = 0;
    virtual tbool CCL_API execute (Variant& result) = 0;
    virtual tbool CCL_API execute (IResultSet*& resultSet) = 0;
    virtual int64 CCL_API executeInsert () = 0;
};

Inherited Members

public:
    // methods

    virtual tresult CCL_API queryInterface (UIDRef iid, void** ptr) = 0;
    virtual unsigned int CCL_API retain () = 0;
    virtual unsigned int CCL_API release () = 0;

Detailed Documentation

An sql statement can be a command like insert, update, delete or a query (select).

The sql string (passed to IConnection::createStatement) can contain variables (“?”) that can be bound to values later.

Methods

virtual void CCL_API bindVariable (int index, VariantRef value) = 0

Bind a variable to a value.

Index starts at 0.

virtual void CCL_API bindVariable (int index, StringRef value) = 0

Bind a variable to a value.

Index starts at 0.

virtual void CCL_API bindVariable (int index, const char* string) = 0

Bind a variable to a value.

Index starts at 0.

virtual void CCL_API bindVariable (int index, int64 value) = 0

Bind a variable to a value.

Index starts at 0.

virtual void CCL_API bindVariable (int index, double value) = 0

Bind a variable to a value.

Index starts at 0.

virtual void CCL_API bindVariable (int index, const IMemoryStream& blob) = 0

Bind a variable to a blob value.

Index starts at 0.

virtual void CCL_API unbindVariable (int index) = 0

Unbind a variable (set to NULL).

Index starts at 0.

virtual void CCL_API unbindVariables () = 0

Unbind all variables.

virtual tbool CCL_API execute () = 0

Execute the statement (no result).

virtual tbool CCL_API execute (Variant& result) = 0

Execute the statement (single result value).

virtual tbool CCL_API execute (IResultSet*& resultSet) = 0

Execute the statement.

A query statement returns an IResultSet interface.

virtual int64 CCL_API executeInsert () = 0

Execute an insert statement.

Returns the record ID of the new record.