Nebula
|
#include <command.h>
Wraps a general SQL command.
Commands may contain placeholders and can be precompiled for faster execution.
Inherits Core::RefCounted.
Inherited by Db::Sqlite3Command.
Public Member Functions | |
Command () | |
constructor | |
virtual | ~Command () |
destructor | |
virtual bool | Compile (const Ptr< Database > &db, const Util::String &sqlCommand, ValueTable *resultTable=0) |
compile an SQL statement with optional placeholders | |
virtual bool | Execute ()=0 |
execute compiled command | |
bool | CompileAndExecute (const Ptr< Database > &db, const Util::String &sqlCommand, ValueTable *resultTable=0) |
shortcut for simple SQL commands | |
virtual void | Clear ()=0 |
clear the current command | |
virtual bool | IsValid () const =0 |
return true if command is compiled and ready for execution | |
const Util::String & | GetError () const |
get last error | |
const Ptr< Database > & | GetDatabase () const |
get back pointer to database | |
const Util::String & | GetSqlCommand () const |
get the last compiled SQL command | |
const Ptr< ValueTable > & | GetValueTable () const |
get the last set value table (can be 0!) | |
virtual IndexT | IndexOf (const Util::String &name) const =0 |
convert a parameter name into an integer index | |
virtual IndexT | IndexOf (const Attr::AttrId &attrId) const =0 |
convert a parameter attribute id into an integer index | |
virtual void | BindInt (IndexT index, int val)=0 |
bind an integer by placeholder to 0-based index | |
virtual void | BindFloat (IndexT index, float val)=0 |
bind a float by placeholder index to 0-based index | |
virtual void | BindBool (IndexT index, bool val)=0 |
bind a bool by placeholder index 0-based index | |
virtual void | BindVec4 (IndexT index, const Math::vec4 &val)=0 |
bind a vec4 by placeholder index 0-based index | |
virtual void | BindString (IndexT index, const Util::String &val)=0 |
bind a string by placeholder index 0-based index | |
virtual void | BindMat4 (IndexT index, const Math::mat4 &val)=0 |
bind a mat4 by placeholder index 0-based index | |
virtual void | BindBlob (IndexT index, const Util::Blob &val)=0 |
bind a blob by placeholder index 0-based index | |
virtual void | BindGuid (IndexT index, const Util::Guid &val)=0 |
bind a guid by placeholder index 0-based index | |
virtual void | BindInt (const Util::String &name, int val)=0 |
bind an integer by placeholder name | |
virtual void | BindFloat (const Util::String &name, float val)=0 |
bind a float by placeholder name | |
virtual void | BindBool (const Util::String &name, bool val)=0 |
bind a bool by placeholder name | |
virtual void | BindVec4 (const Util::String &name, const Math::vec4 &val)=0 |
bind a vec4 by placeholder name | |
virtual void | BindString (const Util::String &name, const Util::String &val)=0 |
bind a string by placeholder name | |
virtual void | BindMat4 (const Util::String &name, const Math::mat4 &val)=0 |
bind a mat4 by placeholder name | |
virtual void | BindBlob (const Util::String &name, const Util::Blob &val)=0 |
bind a blob by placeholder name | |
virtual void | BindGuid (const Util::String &name, const Util::Guid &val)=0 |
bind a guid by placeholder name | |
virtual void | BindInt (const Attr::AttrId &id, int val)=0 |
bind an integer by placeholder attribute id | |
virtual void | BindFloat (const Attr::AttrId &id, float val)=0 |
bind a float by placeholder attribute id | |
virtual void | BindBool (const Attr::AttrId &id, bool val)=0 |
bind a bool by placeholder attribute id | |
virtual void | BindVec4 (const Attr::AttrId &id, const Math::vec4 &val)=0 |
bind a vec4 by placeholder attribute id | |
virtual void | BindString (const Attr::AttrId &id, const Util::String &val)=0 |
bind a string by placeholder attribute id | |
virtual void | BindMat4 (const Attr::AttrId &id, const Math::mat4 &val)=0 |
bind a mat4 by placeholder attribute id | |
virtual void | BindBlob (const Attr::AttrId &id, const Util::Blob &val)=0 |
bind a blob by placeholder attribute id | |
virtual void | BindGuid (const Attr::AttrId &id, const Util::Guid &val)=0 |
bind a guid by placeholder attribute id | |
Public Member Functions inherited from Core::RefCounted | |
RefCounted () | |
constructor | |
int | GetRefCount () const |
get the current refcount | |
void | AddRef () |
increment refcount by one | |
void | Release () |
decrement refcount and destroy object if refcount is zero | |
bool | IsInstanceOf (const Rtti &rtti) const |
return true if this object is instance of given class | |
bool | IsInstanceOf (const Util::String &className) const |
return true if this object is instance of given class by string | |
bool | IsInstanceOf (const Util::FourCC &classFourCC) const |
return true if this object is instance of given class by fourcc | |
bool | IsA (const Rtti &rtti) const |
return true if this object is instance of given class, or a derived class | |
bool | IsA (const Util::String &rttiName) const |
return true if this object is instance of given class, or a derived class, by string | |
bool | IsA (const Util::FourCC &rttiFourCC) const |
return true if this object is instance of given class, or a derived class, by fourcc | |
const Util::String & | GetClassName () const |
get the class name | |
Util::FourCC | GetClassFourCC () const |
get the class FourCC code | |
Protected Member Functions | |
void | SetError (const Util::String &err) |
set error string | |
void | SetSqlCommand (const Util::String &cmd) |
set the SQL statement to exeute | |
Protected Member Functions inherited from Core::RefCounted | |
virtual | ~RefCounted () |
destructor (called when refcount reaches zero) | |
Protected Attributes | |
Util::String | sqlCommand |
Util::String | error |
Ptr< Database > | database |
Ptr< ValueTable > | valueTable |
Additional Inherited Members | |
Static Public Member Functions inherited from Core::RefCounted | |
static void | DumpRefCountingLeaks () |
dump refcounting leaks, call at end of application (NEBULA_DEBUG builds only!) | |
Db::Command::Command | ( | ) |
constructor
|
virtual |
destructor
|
pure virtual |
bind a blob by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a blob by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a blob by placeholder index 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a bool by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a bool by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a bool by placeholder index 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a float by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a float by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a float by placeholder index to 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a guid by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a guid by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a guid by placeholder index 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind an integer by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind an integer by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind an integer by placeholder to 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a mat4 by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a mat4 by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a mat4 by placeholder index 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a string by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a string by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a string by placeholder index 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a vec4 by placeholder attribute id
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a vec4 by placeholder name
Implemented in Db::Sqlite3Command.
|
pure virtual |
bind a vec4 by placeholder index 0-based index
Implemented in Db::Sqlite3Command.
|
pure virtual |
clear the current command
Implemented in Db::Sqlite3Command.
|
virtual |
compile an SQL statement with optional placeholders
This compiles an SQL statement against the provided database.
The SQL statement may contain placeholders which should be filled with values using the various BindXXX() methods. After values have been bound, the statement can be executed using the Execute() method.
Reimplemented in Db::Sqlite3Command.
bool Db::Command::CompileAndExecute | ( | const Ptr< Database > & | db, |
const Util::String & | cmd, | ||
ValueTable * | resultTable = 0 ) |
shortcut for simple SQL commands
This is a simple helper method which compiles and executes a simple SQL command in one step.
This is only recommended for simple commands which are not executed repaetedly and don't take any parameters.
|
pure virtual |
execute compiled command
Implemented in Db::Sqlite3Command.
|
inline |
get last error
|
inline |
get the last compiled SQL command
|
inline |
get the last set value table (can be 0!)
|
pure virtual |
convert a parameter attribute id into an integer index
Implemented in Db::Sqlite3Command.
|
pure virtual |
convert a parameter name into an integer index
Implemented in Db::Sqlite3Command.
|
pure virtual |
return true if command is compiled and ready for execution
Implemented in Db::Sqlite3Command.
|
inlineprotected |
set error string
|
inlineprotected |
set the SQL statement to exeute
|
protected |
|
protected |
|
protected |