fintp_udal
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
FinTP::InformixDatabase Class Reference

Derived ODBCDatabase class to implement specific operations for Informix Server. More...

#include <InformixDatabase.h>

Inheritance diagram for FinTP::InformixDatabase:

Public Member Functions

 InformixDatabase ()
 
 ~InformixDatabase ()
 
void BeginTransaction (const bool readonly)
 Starts a transaction. More...
 
void EndTransaction (const TransactionType::TRANSACTION_TYPE trType, const bool throwOnError)
 Ends a transaction. More...
 
void ConnectionLost ()
 
bool IsConnected ()
 Query if Database instance is connected. More...
 
- Public Member Functions inherited from FinTP::ODBCDatabase
 ODBCDatabase ()
 
virtual ~ODBCDatabase ()
 
void Connect (const ConnectionString &connectionString)
 Connects using the given connection string. More...
 
void Disconnect ()
 Disconnects and release connection resources. 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...
 
DataSetExecuteQuery (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, bool onCursor, const unsigned int fetchRows)
 Execute Query SQL statements ( without params ) More...
 
DataSetExecuteQuery (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool onCursor, const unsigned int fetchRows)
 Execute Query SQL statements ( with params ) More...
 
DataSetExecuteQueryCached (const DataCommand::COMMAND_TYPE commType, const string &stringStatement, const bool onCursor, const unsigned int fetchRows)
 Query SQL statements ( without params ) and use caching More...
 
DataSetExecuteQueryCached (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...
 
- Public Member Functions inherited from FinTP::Database
 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)
 
DataSetExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor)
 
DataSetExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement)
 
DataSetExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, bool holdCursor)
 
DataSetExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement)
 
DataSetExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool holdCursor)
 
DataSetExecuteQuery (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters)
 
DataSetExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters, bool holdCursor)
 
DataSetExecuteQueryCached (const DataCommand::COMMAND_TYPE commandType, const string &stringStatement, const ParametersVector &vectorOfParameters)
 
void ReleaseCursor ()
 
int getLastNumberofAffectedRows () const
 

Private Member Functions

string getErrorInformation (SQLSMALLINT htype, SQLHANDLE handle)
 get detailed error information More...
 
void setSpecificEnvAttr ()
 Set Sql environment attribute for ODBC version. More...
 
string callFormating (const string &statementString, const ParametersVector &vectorOfParameters)
 

Private Attributes

ConnectionString m_ConnectionString
 
bool m_IsReconecting
 

Additional Inherited Members

- Static Public Member Functions inherited from FinTP::Database
static void DisplayDataSet (const DataSet *theDataSet)
 Utility method used to pretty print DataSet objects. More...
 
static
XERCES_CPP_NAMESPACE_QUALIFIER
DOMDocument * 
ConvertToXML (const DataSet *theDataSet, const bool doTrimm=true)
 Utility method that converts DataSet parameter objects to following XML format: <TableName> <Record> <Column_Name_n>Column_Value_n<Column_Name_n> </Record> </TableName> More...
 
- Static Public Attributes inherited from FinTP::Database
static string DateFormat = "DD.MM.YYYY"
 Used to convert a date/timestamp column to a string format database specific formats. More...
 
static string TimestampFormat = "DD.MM.YYYY HH:MI"
 
- Protected Member Functions inherited from FinTP::ODBCDatabase
bool isEnvAllocated () const
 
SQLRETURN AllocateEnv ()
 
bool isDbcAllocated () const
 
void BindParams (const ParametersVector &vectorOfParameters, SQLHANDLE *statementHandle=NULL, const unsigned int startIndex=1)
 
DataSetinnerExecuteCommand (const DataCommand &command, const ParametersVector &vectorOfParameters, const bool useCursor=false, const unsigned int fetchRows=0)
 
DataSetexecuteQuery (DataCommand &command, const bool isCommandCached, SQLHANDLE *statementHandle, const bool useCursor, const unsigned int fetchRows=0)
 
DataSetgetDataSet (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 void setSpecificConnAttr ()
 
- Static Protected Member Functions inherited from FinTP::ODBCDatabase
static int getODBCTransactionType (TransactionType::TRANSACTION_TYPE type)
 
- Protected Attributes inherited from FinTP::ODBCDatabase
SQLHANDLE m_Henv
 
bool m_HenvAllocated
 
bool m_IsConnected
 
SQLHANDLE m_Hdbc
 
bool m_HdbcAllocated
 
SQLHANDLE m_Hstmt
 
SQLHANDLE m_HoldCursorHandle
 
string m_HoldCursorName
 
bool m_HoldCursorInvoked
 

Detailed Description

Derived ODBCDatabase class to implement specific operations for Informix Server.

  1. First a new InformixDatabase database is created,
  2. Then, the client can create a new database transaction by calling the BeginTransaction(readonly) method. The connection can be tested any time during instace lifecycle using ConnecitonLost() method
  3. 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 . The CallFormating(statement,params) function is used for formatting the query string when stored procedures are called.
  4. A transaction ends when the client calls EndTransaction(transactionType) performing commit or rollback on the current transaction

*Detailed Error Information is obtained by calling getErrorInformation( handletype,handle );

Constructor & Destructor Documentation

FinTP::InformixDatabase::InformixDatabase ( )
inline
FinTP::InformixDatabase::~InformixDatabase ( )
inline

Member Function Documentation

void InformixDatabase::BeginTransaction ( const bool  readonly)
virtual

Starts a transaction.

Parameters
readonly= true if no Inserts/Updates are intended

Reimplemented from FinTP::ODBCDatabase.

string InformixDatabase::callFormating ( const string &  statementString,
const ParametersVector vectorOfParameters 
)
privatevirtual

Reimplemented from FinTP::ODBCDatabase.

void FinTP::InformixDatabase::ConnectionLost ( )
inline
void InformixDatabase::EndTransaction ( const TransactionType::TRANSACTION_TYPE  transactionType,
const bool  throwOnError 
)
virtual

Ends a transaction.

Parameters
transactionTypeTransactionType option to close transaction
throwOnErrorBool flag to inhibit exception throwing on error.
Note
why wish not to throw exception

Reimplemented from FinTP::ODBCDatabase.

string InformixDatabase::getErrorInformation ( SQLSMALLINT  htype,
SQLHANDLE  handle 
)
privatevirtual

get detailed error information

Reimplemented from FinTP::ODBCDatabase.

bool InformixDatabase::IsConnected ( )
virtual

Query if Database instance is connected.

Returns
true if connected, false if not.

Reimplemented from FinTP::ODBCDatabase.

void InformixDatabase::setSpecificEnvAttr ( )
privatevirtual

Set Sql environment attribute for ODBC version.

Reimplemented from FinTP::ODBCDatabase.

Member Data Documentation

ConnectionString FinTP::InformixDatabase::m_ConnectionString
private
bool FinTP::InformixDatabase::m_IsReconecting
private

The documentation for this class was generated from the following files: