An attribute ID is used to carry attribute types (no values) around.
Definition attrid.h:20
The common base class of Nebula.
Definition refcounted.h:38
Wraps a general SQL command.
Definition command.h:26
virtual IndexT IndexOf(const Attr::AttrId &attrId) const =0
convert a parameter attribute id into an integer index
virtual bool Execute()=0
execute compiled command
virtual void BindBlob(IndexT index, const Util::Blob &val)=0
bind a blob by placeholder index 0-based index
virtual void BindString(const Util::String &name, const Util::String &val)=0
bind a string by placeholder name
virtual void BindBool(IndexT index, bool val)=0
bind a bool 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
const Ptr< Database > & GetDatabase() const
get back pointer to database
Definition command.h:134
virtual void BindInt(const Util::String &name, int val)=0
bind an integer by placeholder name
void SetError(const Util::String &err)
set error string
Definition command.h:162
virtual bool IsValid() const =0
return true if command is compiled and ready for execution
const Util::String & GetSqlCommand() const
get the last compiled SQL command
Definition command.h:153
const Util::String & GetError() const
get last error
Definition command.h:171
void SetSqlCommand(const Util::String &cmd)
set the SQL statement to exeute
Definition command.h:143
Util::String sqlCommand
Definition command.h:115
virtual void Clear()=0
clear the current command
bool CompileAndExecute(const Ptr< Database > &db, const Util::String &sqlCommand, ValueTable *resultTable=0)
shortcut for simple SQL commands
Definition command.cc:54
Util::String error
Definition command.h:116
virtual void BindGuid(const Util::String &name, const Util::Guid &val)=0
bind a guid by placeholder name
virtual void BindMat4(const Attr::AttrId &id, const Math::mat4 &val)=0
bind a mat4 by placeholder attribute id
virtual void BindString(IndexT index, const Util::String &val)=0
bind a string by placeholder index 0-based index
virtual void BindFloat(IndexT index, float val)=0
bind a float by placeholder index to 0-based index
Ptr< ValueTable > valueTable
Definition command.h:118
virtual void BindInt(IndexT index, int val)=0
bind an integer by placeholder to 0-based index
virtual void BindInt(const Attr::AttrId &id, int val)=0
bind an integer by placeholder attribute id
virtual void BindBool(const Attr::AttrId &id, bool val)=0
bind a bool 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 BindVec4(IndexT index, const Math::vec4 &val)=0
bind a vec4 by placeholder index 0-based index
virtual IndexT IndexOf(const Util::String &name) const =0
convert a parameter name into an integer index
virtual void BindBlob(const Attr::AttrId &id, const Util::Blob &val)=0
bind a blob by placeholder attribute id
const Ptr< ValueTable > & GetValueTable() const
get the last set value table (can be 0!)
Definition command.h:125
virtual void BindBool(const Util::String &name, bool val)=0
bind a bool by placeholder name
Ptr< Database > database
Definition command.h:117
virtual void BindMat4(const Util::String &name, const Math::mat4 &val)=0
bind a mat4 by placeholder name
virtual void BindVec4(const Attr::AttrId &id, const Math::vec4 &val)=0
bind a vec4 by placeholder attribute id
virtual void BindFloat(const Attr::AttrId &id, float val)=0
bind a float by placeholder attribute id
virtual void BindBlob(const Util::String &name, const Util::Blob &val)=0
bind a blob by placeholder name
virtual void BindVec4(const Util::String &name, const Math::vec4 &val)=0
bind a vec4 by placeholder name
virtual void BindGuid(const Attr::AttrId &id, const Util::Guid &val)=0
bind a guid by placeholder attribute id
virtual ~Command()
destructor
Definition command.cc:24
virtual void BindGuid(IndexT index, const Util::Guid &val)=0
bind a guid by placeholder index 0-based index
Command()
constructor
Definition command.cc:16
virtual bool Compile(const Ptr< Database > &db, const Util::String &sqlCommand, ValueTable *resultTable=0)
compile an SQL statement with optional placeholders
Definition command.cc:37
virtual void BindFloat(const Util::String &name, float val)=0
bind a float by placeholder name
A table of database values.
Definition valuetable.h:23
Nebula's smart pointer class which manages the life time of RefCounted objects.
Definition ptr.h:38
The Util::Blob class encapsulates a chunk of raw memory into a C++ object which can be copied,...
Definition blob.h:22
#define n_assert(exp)
Definition debug.h:50
A 4x4 single point precision float matrix.
Definition mat4.h:49
A 4D vector.
Definition vec4.h:24
Nebula's universal string class.
Definition string.h:50
bool IsValid() const
return true if string object is not empty
Definition string.h:682
int IndexT
Definition types.h:48