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

SqlServerDatabase derived ODBCDatabase class to implement specific operations for Sql Server. More...

#include <SqlServerDatabase.h>

Inheritance diagram for FinTP::SqlServerDatabase:

Public Member Functions

 SqlServerDatabase ()
 
 ~SqlServerDatabase ()
 
void BeginTransaction (const bool readonly)
 *SQLServer overrides transaction support More...
 
void EndTransaction (const TransactionType::TRANSACTION_TYPE transactionType, const bool throwOnError)
 Ends a transaction. 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...
 
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...
 
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

void setSpecificEnvAttr ()
 set Sql environment attribute for specific odbc version More...
 
void setSpecificConnAttr ()
 Set ODBC Cursors. More...
 
string callFormating (const string &statementString, const ParametersVector &vectorOfParameters)
 Format input string for calling stored procedures. More...
 

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 string getErrorInformation (SQLSMALLINT htype, SQLHANDLE handle)
 
- 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

SqlServerDatabase derived ODBCDatabase class to implement specific operations for Sql Server.

  1. First a new SqlServerDatabase database is created,
  2. Then, 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::SqlServerDatabase::SqlServerDatabase ( )
inline
FinTP::SqlServerDatabase::~SqlServerDatabase ( )
inline

Member Function Documentation

void SqlServerDatabase::BeginTransaction ( const bool  readonly)
virtual

*SQLServer overrides transaction support

Reimplemented from FinTP::ODBCDatabase.

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

Format input string for calling stored procedures.

Reimplemented from FinTP::ODBCDatabase.

void SqlServerDatabase::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.

void SqlServerDatabase::setSpecificConnAttr ( )
privatevirtual

Set ODBC Cursors.

Note
does nothing (bc commented code)

Reimplemented from FinTP::ODBCDatabase.

void SqlServerDatabase::setSpecificEnvAttr ( )
privatevirtual

set Sql environment attribute for specific odbc version

Reimplemented from FinTP::ODBCDatabase.


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