21 #ifndef ABSTRACTDATABASE_H
22 #define ABSTRACTDATABASE_H
25 #include <xercesc/dom/DOM.hpp>
29 #include "AppExceptions.h"
43 explicit DBWarningException(
const string& argumentName =
"No argument",
const EventType::EventTypeEnum eventType = EventType::Warning,
const NameValueCollection* additionalInfo = NULL );
57 explicit DBErrorException(
const string& argumentName =
"No argument",
const EventType::EventTypeEnum eventType = EventType::Error,
const NameValueCollection* additionalInfo = NULL );
61 void setCode(
const string& code );
71 explicit DBConnectionLostException(
const string& argumentName =
"No argument",
const EventType::EventTypeEnum eventType = EventType::Error,
const NameValueCollection* additionalInfo = NULL );
83 explicit DBNoUpdatesException(
const string& argumentName =
"No argument",
const EventType::EventTypeEnum eventType = EventType::Warning,
const NameValueCollection* additionalInfo = NULL );
110 static string ToString( TRANSACTION_TYPE type );
155 virtual void BeginTransaction(
const bool readonly ) = 0;
157 BeginTransaction(
false );
168 EndTransaction( transactionType,
true );
180 virtual void Disconnect() = 0;
186 virtual bool IsConnected() = 0;
195 virtual void ExecuteNonQuery(
const DataCommand::COMMAND_TYPE commandType,
const string& stringStatement,
bool onCursor ) = 0;
198 ExecuteNonQuery( commandType, stringStatement,
false );
209 virtual void ExecuteNonQueryCached(
const DataCommand::COMMAND_TYPE commandType,
const string& stringStatement,
bool onCursor ) = 0;
212 ExecuteNonQueryCached( commandType, stringStatement,
false );
226 ExecuteNonQuery( commandType, stringStatement, vectorOfParameters,
false );
241 ExecuteNonQueryCached( commandType, stringStatement, vectorOfParameters,
false );
253 virtual DataSet* ExecuteQuery(
const DataCommand::COMMAND_TYPE commandType,
const string& stringStatement,
bool holdCursor,
const unsigned int fetchRows ) = 0;
256 return ExecuteQuery( commandType, stringStatement, holdCursor, 0 );
260 return ExecuteQuery( commandType, stringStatement,
false, 0 );
272 virtual DataSet* ExecuteQueryCached(
const DataCommand::COMMAND_TYPE commandType,
const string& stringStatement,
const bool holdCursor,
const unsigned int fetchRows ) = 0;
275 return ExecuteQueryCached( commandType, stringStatement, holdCursor, 0 );
279 return ExecuteQueryCached( commandType, stringStatement,
false, 0 );
294 return ExecuteQuery( commandType, stringStatement, vectorOfParameters, holdCursor, 0 );
298 return ExecuteQuery( commandType, stringStatement, vectorOfParameters,
false, 0 );
313 return ExecuteQueryCached( commandType, stringStatement, vectorOfParameters, holdCursor, 0 );
317 return ExecuteQueryCached( commandType, stringStatement, vectorOfParameters,
false, 0 );
324 virtual void ReleaseCursor(
const bool checkConn ) = 0;
326 ReleaseCursor(
true );
340 virtual void RewindCursor() = 0;
346 static void DisplayDataSet(
const DataSet* theDataSet );
349 return m_LastNumberofAffectedRows;
370 static XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* ConvertToXML(
const DataSet* theDataSet,
const bool doTrimm =
true );
374 #endif // ABSTRACTDATABASE_H