DCL 3.7.4
Loading...
Searching...
No Matches
IFXQuery.h
Go to the documentation of this file.
1#ifndef __DCL_IFX_QUERY_H__
2#define __DCL_IFX_QUERY_H__ 20030717
3
4__DCL_BEGIN_NAMESPACE
5
6// 2025.05.06
7// DESCRIBE, STATEMENT_TYPE의 사용에서
8// DESCRIBE OUTPUT, DESCRIBE INPUT으로 구현을 변경
9#define __USE_STMT_TYPE 0
10#define __SQ_UNKNOWN -1
11
12// lvarchar 관련하여 __outSQLDA에서 ifx_var_ 이 동작하지 않아서
13// ByteString::length()로 구현을 변경
14#define __USE_IFX_VAR 0
15
16class IFXField;
17class IFXParam;
18
19class IFXQuery : public SQL::Query
20{
22public:
23 IFXConnection* conn() const;
24
25protected:
26 ByteString __statementID;
27 ByteString __cursorID; // for SELECT, INSERT
28
29#if __USE_STMT_TYPE
30 int __stmtType;
31#endif
32 ifx_sqlda_t* __inSQLDA;
33 ifx_sqlda_t* __outSQLDA;
35
38
41
42protected:
43 bool reset();
44 bool initFields();
45 bool initParams(size_t _paramCount);
46
47public:
48 IFXQuery(IFXConnection* _connection);
49 virtual ~IFXQuery();
50 virtual void __destroy();
51 virtual bool __prepare(
52 const char* _sql, size_t _sqllen,size_t _paramCount
53 );
54
55 virtual bool __execute();
56 virtual bool __fetch();
57
58 virtual bool __getField(size_t _index, SQL::Field** _fieldHandleOut);
59 virtual bool __getParam(size_t _index, SQL::Param** _paramHandleOut);
60};
61
62inline IFXConnection* IFXQuery::conn() const
63{
64 return (IFXConnection*)Query::__connHandle;
65}
66
67__DCL_END_NAMESPACE
68
69#endif // __DCL_IFX_QUERY_H__
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:227
bool __cursorOpened
Definition IFXQuery.h:37
virtual bool __prepare(const char *_sql, size_t _sqllen, size_t _paramCount)
Definition IFXQuery.cpp:359
virtual bool __execute()
Definition IFXQuery.cpp:485
IFXParam * __params
Definition IFXQuery.h:39
IFXQuery(IFXConnection *_connection)
IFXField * __fields
Definition IFXQuery.h:40
virtual bool __getField(size_t _index, SQL::Field **_fieldHandleOut)
Definition IFXQuery.cpp:737
ifx_sqlda_t * __inSQLDA
Definition IFXQuery.h:32
bool initFields()
Definition IFXQuery.cpp:252
virtual ~IFXQuery()
Definition IFXQuery.cpp:95
char * __outBuffer
Definition IFXQuery.h:34
virtual bool __getParam(size_t _index, SQL::Param **_paramHandleOut)
Definition IFXQuery.cpp:745
virtual void __destroy()
Definition IFXQuery.cpp:110
bool initParams(size_t _paramCount)
Definition IFXQuery.cpp:333
virtual bool __fetch()
Definition IFXQuery.cpp:660
ByteString __statementID
Definition IFXQuery.h:21
bool __cursorDeclared
Definition IFXQuery.h:36
bool reset()
Definition IFXQuery.cpp:116
ifx_sqlda_t * __outSQLDA
Definition IFXQuery.h:33
ByteString __cursorID
Definition IFXQuery.h:27