21 #ifndef ODBCDATABASE_H
22 #define ODBCDATABASE_H
24 #include "../Database.h"
25 #include "../ConnectionString.h"
34 #include <SQLLIB\include\sqlcli.h>
35 #include <SQLLIB\include\sqlext.h>
36 #include <SQLLIB\include\sqlcli1.h>
37 #elif defined INFORMIX_ONLY
39 #include <Informix\Client-SDK\incl\cli\sql.h>
40 #include <Informix\Client-SDK\incl\cli\sqlext.h>
82 virtual void BeginTransaction(
const bool readonly );
98 return (isDbcAllocated() & m_IsConnected);
109 DataCommand nonquery( commType, DataCommand::NONQUERY, stringStatement,
false );
111 (void)innerExecuteCommand( nonquery, tempParams, onCursor, 0 );
122 DataCommand nonquery( commType, DataCommand::NONQUERY, stringStatement,
true );
124 (void)innerExecuteCommand( nonquery, tempParams, onCursor, 0 );
136 DataCommand nonquery( commType, DataCommand::NONQUERY, stringStatement,
false );
137 (void)innerExecuteCommand( nonquery, vectorOfParameters, onCursor, 0 );
149 DataCommand nonquery( commType, DataCommand::NONQUERY, stringStatement,
true );
150 (void)innerExecuteCommand( nonquery, vectorOfParameters, onCursor, 0 );
162 DataCommand query( commType, DataCommand::QUERY, stringStatement,
false );
164 return innerExecuteCommand( query, tempParams, onCursor, fetchRows );
177 DataCommand query( commType, DataCommand::QUERY, stringStatement,
false );
178 return innerExecuteCommand( query, vectorOfParameters, onCursor, fetchRows );
190 DataCommand queryCached( commType, DataCommand::QUERY, stringStatement,
true );
192 return innerExecuteCommand( queryCached, tempParams, onCursor, fetchRows );
205 DataCommand queryCached( commType, DataCommand::QUERY, stringStatement,
true );
206 return innerExecuteCommand( queryCached, vectorOfParameters, onCursor, fetchRows );
209 void ReleaseCursor(
const bool checkConn );
212 return m_HoldCursorInvoked;
222 return m_HenvAllocated;
233 SQLRETURN AllocateEnv();
235 return m_HdbcAllocated;
238 void BindParams(
const ParametersVector& vectorOfParameters, SQLHANDLE* statementHandle = NULL,
const unsigned int startIndex = 1 );
240 DataSet* innerExecuteCommand(
const DataCommand& command,
const ParametersVector& vectorOfParameters,
const bool useCursor =
false,
const unsigned int fetchRows = 0 );
243 DataSet* executeQuery(
DataCommand& command,
const bool isCommandCached, SQLHANDLE* statementHandle,
const bool useCursor,
const unsigned int fetchRows = 0 );
244 DataSet* getDataSet(
DataCommand& command,
const bool isCommandCached, SQLHANDLE* statementHandle,
const bool useCursor,
const unsigned int fetchRows = 0 );
246 void executeNonQuery(
DataCommand& command,
const bool isCommandCached, SQLHANDLE* statementHandle,
const bool useCursor );
252 virtual string getErrorInformation( SQLSMALLINT htype, SQLHANDLE handle );
255 virtual void setSpecificEnvAttr();
256 virtual string callFormating(
const string& statementString,
const ParametersVector& vectorOfParameters );