| 
|   | ODBCDatabase () | 
|   | 
| virtual  | ~ODBCDatabase () | 
|   | 
| virtual void  | BeginTransaction (const bool readonly) | 
|   | Starts a transaction.  More...
  | 
|   | 
| virtual void  | EndTransaction (const TransactionType::TRANSACTION_TYPE transactionType, const bool throwOnError) | 
|   | Ends a transaction.  More...
  | 
|   | 
| void  | Connect (const ConnectionString &connectionString) | 
|   | Connects using the given connection string.  More...
  | 
|   | 
| void  | Disconnect () | 
|   | Disconnects and release connection resources.  More...
  | 
|   | 
| virtual bool  | IsConnected () | 
|   | Query if Database instance is connected.  More...
  | 
|   | 
| void  | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, bool onCursor) | 
|   | Execute NonQuery SQL statements or stored procedures ( without params )  More...
  | 
|   | 
| void  | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, bool onCursor) | 
|   | Execute NonQueryCached SQL statements or stored procedures ( without params ) and use caching.  More...
  | 
|   | 
| void  | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool onCursor) | 
|   | Execute NonQuery SQL statements or stored procedures ( with params )  More...
  | 
|   | 
| void  | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool onCursor) | 
|   | Execute NonQueryCached SQL statements or stored procedures ( with params ) and use caching.  More...
  | 
|   | 
| DataSet *  | ExecuteQuery (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, bool onCursor, const unsigned int fetchRows) | 
|   | Execute Query SQL statements ( without params )  More...
  | 
|   | 
| DataSet *  | ExecuteQuery (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool onCursor, const unsigned int fetchRows) | 
|   | Execute Query SQL statements ( with params )  More...
  | 
|   | 
| DataSet *  | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const bool onCursor, const unsigned int fetchRows) | 
|   | Query SQL statements ( without params ) and use caching  More...
  | 
|   | 
| DataSet *  | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const ParametersVector &vectorOfParameters, const bool onCursor, const unsigned int fetchRows) | 
|   | Execute Query SQL statements ( with params ) and use caching.  More...
  | 
|   | 
| void  | ReleaseCursor (const bool checkConn) | 
|   | If onCursor=true is passed to ExecuteQuery methods, a client is required to use these methods to release cursor resources.  More...
  | 
|   | 
| void  | RewindCursor () | 
|   | Rewind cursor to the first position.  More...
  | 
|   | 
| bool  | CursorHeld () const  | 
|   | Determines if we can hold the cursor.  More...
  | 
|   | 
|   | Database () | 
|   | 
| virtual  | ~Database () | 
|   | 
| void  | BeginTransaction () | 
|   | 
| void  | EndTransaction (const TransactionType::TRANSACTION_TYPE transactionType) | 
|   | 
| void  | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) | 
|   | 
| void  | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) | 
|   | 
| void  | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters) | 
|   | 
| void  | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters) | 
|   | 
| DataSet *  | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor) | 
|   | 
| DataSet *  | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) | 
|   | 
| DataSet *  | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor) | 
|   | 
| DataSet *  | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) | 
|   | 
| DataSet *  | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool holdCursor) | 
|   | 
| DataSet *  | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters) | 
|   | 
| DataSet *  | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool holdCursor) | 
|   | 
| DataSet *  | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters) | 
|   | 
| void  | ReleaseCursor () | 
|   | 
| int  | getLastNumberofAffectedRows () const  | 
|   | 
 | 
| bool  | isEnvAllocated () const  | 
|   | 
| SQLRETURN  | AllocateEnv () | 
|   | 
| bool  | isDbcAllocated () const  | 
|   | 
| void  | BindParams (const ParametersVector &vectorOfParameters, SQLHANDLE *statementHandle=NULL, const unsigned int startIndex=1) | 
|   | 
| DataSet *  | innerExecuteCommand (const DataCommand &command, const ParametersVector &vectorOfParameters, const bool useCursor=false, const unsigned int fetchRows=0) | 
|   | 
| DataSet *  | executeQuery (DataCommand &command, const bool isCommandCached, SQLHANDLE *statementHandle, const bool useCursor, const unsigned int fetchRows=0) | 
|   | 
| DataSet *  | getDataSet (DataCommand &command, const bool isCommandCached, SQLHANDLE *statementHandle, const bool useCursor, const unsigned int fetchRows=0) | 
|   | 
| void  | executeNonQuery (DataCommand &command, const bool isCommandCached, SQLHANDLE *statementHandle, const bool useCursor) | 
|   | 
| virtual string  | getErrorInformation (SQLSMALLINT htype, SQLHANDLE handle) | 
|   | 
| virtual void  | setSpecificConnAttr () | 
|   | 
| virtual void  | setSpecificEnvAttr () | 
|   | 
| virtual string  | callFormating (const string &statementString, const ParametersVector &vectorOfParameters) | 
|   | 
Derived ODBCDatabase class to implement specific operations for ODBC Databases. 
- First a new ODBCDatabase instace is created
 
- Then, the client can create a new transaction by calling BeginTransaction(readonly) method
 
- Transactions comprise one ore more calls to "ExecuteQuery" methods. Every database query is mapped to a Command instance and can be cached in m_StatementCache member of Database instance
 
- A transaction ends when the client calls EndTransaction(transactionType) performing commit or rollback on current transaction
 
- The database connection is released when Disconect() is called.
 
Database declare two types of "ExecuteQuery" methods
- ExecuteQuery - Create a DataCommand from passed parameters and execute it
 
- ExecuteQueryChached - Additionally, attempts to retrieve the params and resultset columns from DataCommand cache or adds them if not available
 
Database, define four library specific exception types to be used by its implementations