|
| 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