|
| Database () |
|
virtual | ~Database () |
|
virtual void | BeginTransaction (const bool readonly)=0 |
| Starts a transaction. More...
|
|
void | BeginTransaction () |
|
virtual void | EndTransaction (const TransactionType::TRANSACTION_TYPE transactionType, const bool throwOnError)=0 |
| Ends a transaction. More...
|
|
void | EndTransaction (const TransactionType::TRANSACTION_TYPE transactionType) |
|
virtual void | Connect (const ConnectionString &connectionString)=0 |
| Connects using the given connection string. More...
|
|
virtual void | Disconnect ()=0 |
| Disconnects and release connection resources. More...
|
|
virtual bool | IsConnected ()=0 |
| Query if Database instance is connected. More...
|
|
virtual void | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool onCursor)=0 |
| ExecuteQuery method Execute NonQuery (Insert, Update, Delete) SQL statements or stored procedures. More...
|
|
void | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) |
|
virtual void | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool onCursor)=0 |
| ExecuteQuery method Execute NonQuery (Insert, Update, Delete) SQL statements or stored procedures, cached in Database instance. More...
|
|
void | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) |
|
virtual void | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool onCursor)=0 |
| ExecuteQuery method Execute NonQuery (Insert, Update, Delete) SQL statements or stored procedures. More...
|
|
void | ExecuteNonQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters) |
|
virtual void | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool onCursor)=0 |
| ExecuteQuery method Execute NonQuery (Insert, Update, Delete) SQL statements or stored procedures, cached in Database instance. More...
|
|
void | ExecuteNonQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters) |
|
virtual DataSet * | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor, const unsigned int fetchRows)=0 |
| ExecuteQuery method Execute Select SQL statements or stored procedures. More...
|
|
DataSet * | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor) |
|
DataSet * | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) |
|
virtual DataSet * | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const bool holdCursor, const unsigned int fetchRows)=0 |
| ExecuteQuery method Execute Select SQL statements or stored procedures, cached in Database instance. More...
|
|
DataSet * | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor) |
|
DataSet * | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement) |
|
virtual DataSet * | ExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool holdCursor, const unsigned int fetchRows)=0 |
| Execute Select SQL statements or stored procedures. More...
|
|
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) |
|
virtual DataSet * | ExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, const bool holdCursor, const unsigned int fetchRows)=0 |
| Execute Select SQL statements or stored procedures. More...
|
|
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) |
|
virtual void | ReleaseCursor (const bool checkConn)=0 |
| If onCursor=true is passed to ExecuteQuery methods, a client is required to use these methods to release cursor resources. More...
|
|
void | ReleaseCursor () |
|
virtual bool | CursorHeld () const |
| Determines if we can hold the cursor. More...
|
|
virtual void | RewindCursor ()=0 |
| Rewind cursor to the first position. More...
|
|
int | getLastNumberofAffectedRows () const |
|
Main database functional class.
Its purpose is to provide a common interface to operate over different database specific APIs. Database usage consists on making the following sequenced calls to Database class methods
- First a new Database instace is obtained from factory,
- Then, the client can easily connect to database storage by calling the Connect() method. The connection can be tested any time during the instace lifecycle using isConnected() method
- If database connection is up the client needs to spawn a new database 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 the current transaction
- The database connection is released when Disconect()
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