6 #ifndef _INC_cODBCEnv_H
7 #define _INC_cODBCEnv_H
41 return m_nSQLRet == SQL_SUCCESS || m_nSQLRet == SQL_SUCCESS_WITH_INFO ;
44 virtual bool SetSQLAttr(
long nAttribute,
void* pValue) = 0;
50 #define cODBCBase_DISAMBIG virtual HRESULT FillException(cSQLException* pException=nullptr) override { return SUPER_t::FillException(pException); }
69 , m_sCommand(oCmd.get_Command())
74 virtual bool SetSQLAttr(
long nAttribute,
void* pValue)
override;
76 virtual HRESULT CloseStatement(
bool bDrop)
override;
78 virtual HRESULT ExecuteAndFetch(
bool bResultsExpected)
override;
80 virtual void ExecCancel()
override;
82 virtual HRESULT FetchNext(
bool bMore =
false)
override;
84 virtual ITERATE_t ReadColumnCount()
override;
88 void GetData_Raw(
SQL_COLUMN_t iColumn,
SQL_TYPE_t nType, OUT
void* pBuffer,
size_t nSizeBuffer, OUT INT_PTR* pnSizeRet);
118 virtual bool SetSQLAttr(
long nAttribute,
void* pValue)
override;
122 bool GetInfo(SQLUSMALLINT nInfoType,
void* pValue, OUT SQLSMALLINT* pnValueLength);
130 SQLSMALLINT nStringLength =
STRMAX(szBuffer);
132 if (!GetInfo(nInfoType, szBuffer, &nStringLength))
138 szBuffer[
STRMAX(szBuffer)] =
'\0';
139 sVal = (
char*)szBuffer;
145 virtual bool Disconnect()
override;
147 virtual HRESULT EndTransaction(
bool bCommit)
override;
174 virtual bool SetSQLAttr(
long nAttribute,
void* pValue)
override;
#define GRAYCALL
declare calling convention for static functions so everyone knows the arg passing scheme....
Definition: GrayCore.h:36
#define GRAYLIB_LINK
Definition: GrayLibBase.h:35
#define STRMAX(x)
Get Max size of static string space. minus the '\0' terminator character.
Definition: StrConst.h:33
#define UNREFERENCED_REFERENCE(x)
Definition: SysTypes.h:318
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define CHEAPOBJECT_IMPL
Definition: cHeapObject.h:32
#define cODBCBase_DISAMBIG
Definition: cODBCEnv.h:50
Definition: cODBCEnv.h:24
virtual bool SetSQLAttr(long nAttribute, void *pValue)=0
IUNKNOWN_DISAMBIG(SUPER_t)
SQLRETURN m_nSQLRet
SQL_SUCCESS.
Definition: cODBCEnv.h:33
bool isSQLRetOK2() const noexcept
Definition: cODBCEnv.h:39
SQLHANDLE m_hSQL
void* SQL_NULL_HANDLE
Definition: cODBCEnv.h:32
const SQLSMALLINT m_nSQLHandleType
SQL_HANDLE_STMT, SQL_HANDLE_DBC, SQL_HANDLE_ENV.
Definition: cODBCEnv.h:30
Definition: cODBCEnv.h:109
bool GetInfoStr(SQLUSMALLINT nInfoType, OUT cStringA &sVal)
Definition: cODBCEnv.h:124
virtual ISQLStatement * AllocISQLStatement(const cSQLCmd &oCmd) override
Definition: cODBCEnv.h:149
IUNKNOWN_DISAMBIG(SUPER_t)
cODBCDatabase(cODBCBase *pParent)
Definition: cODBCEnv.h:114
Definition: cODBCEnv.h:162
virtual ISQLDatabase * AllocISQLDatabase(const cSQLConnectionString &rConnectionString) override
Definition: cODBCEnv.h:176
IUNKNOWN_DISAMBIG(SUPER_t)
Definition: cODBCEnv.h:57
IUNKNOWN_DISAMBIG(SUPER_t)
cODBCStatement(cODBCBase *pParent, const cSQLCmd &oCmd)
Definition: cODBCEnv.h:67
Definition: cSQLConfig.h:103
Definition: cSQLBase.h:30
Definition: cSQLBase.h:56
Definition: cVariant.h:26
Definition: cSingleton.h:127
Definition: ISQLDriver.h:44
Definition: ISQLDriver.h:55
Definition: ISQLDriver.h:30
INT16 SQL_TYPE_t
Internal/Native/driver type code. enum SWORD = SQL_TYPE_NULL = 0, short int.
Definition: cSQLConfig.h:19
int SQL_COLUMN_t
what field/column/parameter number. 1 based. SQLUSMALLINT
Definition: cSQLBase.h:23
int ITERATE_t
like size_t but signed
Definition: Index.h:28
char FILECHAR_t
a UTF8 char in a file name. like TCHAR
Definition: FileName.h:22
Definition: cSQLConfig.h:29
static const StrLen_t k_LEN_MAX
arbitrary max size for Format() etc. NOTE: _MSC_VER says stack frame should be at least 16384
Definition: StrT.h:75