DCL 4.0
Loading...
Searching...
No Matches
IFXQuery.h
Go to the documentation of this file.
1#ifndef __DCL_INFORMIX_QUERY_H__
2#define __DCL_INFORMIX_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
12class IFXField;
13class IFXParam;
14
15class IFXQuery : public SQL::Query
16{
18public:
19 void setErrorStatus(SQL::Error _error, long _SQLCODE,
20 const wchar_t* _filename, int _line);
21 void setErrorStatus(const ByteString& _message,
22 const wchar_t* _filename, int _line);
23
24 IFXConnection* conn() const;
25
26protected:
27 ByteString __statementID;
28 ByteString __cursorID; // for SELECT, INSERT
29
30#if __USE_STMT_TYPE
31 int __stmtType;
32#endif
33 ifx_sqlda_t* __inSQLDA;
34 ifx_sqlda_t* __outSQLDA;
36
39
42
43protected:
44 bool reset();
45 bool initFields();
46 bool initParams(size_t _paramCount);
47
48public:
49 IFXQuery(IFXConnection* pConnection);
50 virtual ~IFXQuery();
51 virtual void __destroy();
52 virtual bool __prepare(const char* _sql, size_t _sqllen,
53 size_t _paramCount);
54 virtual bool __execute();
55 virtual bool __fetch();
56
57 virtual bool __getField(size_t _index, SQL::Field** _fieldHandleOut);
58 virtual bool __getParam(size_t _index, SQL::Param** _paramHandleOut);
59};
60
61inline void IFXQuery::setErrorStatus(SQL::Error _error, long _SQLCODE,
62 const wchar_t* _filename, int _line)
63{
64 conn()->setErrorStatus(
65 _error,
66 _SQLCODE,
67 _filename,
68 _line
69 );
70}
71
72inline void IFXQuery::setErrorStatus(const ByteString& _message,
73 const wchar_t* _filename, int _line)
74{
75 conn()->setErrorStatus(
76 _message,
77 _filename,
78 _line
79 );
80}
81
82inline IFXConnection* IFXQuery::conn() const
83{
84 return (IFXConnection*)Query::__connHandle;
85}
86
87__DCL_END_NAMESPACE
88
89#endif // __DCL_INFORMIX_QUERY_H__
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:210
void setErrorStatus(SQL::Error _error, long _SQLCODE, const wchar_t *_filename, int _line)
bool __cursorOpened
Definition IFXQuery.h:38
virtual bool __prepare(const char *_sql, size_t _sqllen, size_t _paramCount)
Definition IFXQuery.cpp:351
virtual bool __execute()
Definition IFXQuery.cpp:476
IFXParam * __params
Definition IFXQuery.h:40
IFXField * __fields
Definition IFXQuery.h:41
virtual bool __getField(size_t _index, SQL::Field **_fieldHandleOut)
Definition IFXQuery.cpp:696
IFXQuery(IFXConnection *pConnection)
ifx_sqlda_t * __inSQLDA
Definition IFXQuery.h:33
void * __outBuffer
Definition IFXQuery.h:35
bool initFields()
Definition IFXQuery.cpp:244
virtual ~IFXQuery()
Definition IFXQuery.cpp:90
virtual bool __getParam(size_t _index, SQL::Param **_paramHandleOut)
Definition IFXQuery.cpp:704
virtual void __destroy()
Definition IFXQuery.cpp:116
bool initParams(size_t _paramCount)
Definition IFXQuery.cpp:318
virtual bool __fetch()
Definition IFXQuery.cpp:651
ByteString __statementID
Definition IFXQuery.h:27
bool __cursorDeclared
Definition IFXQuery.h:37
bool reset()
Definition IFXQuery.cpp:122
ifx_sqlda_t * __outSQLDA
Definition IFXQuery.h:34
ByteString __cursorID
Definition IFXQuery.h:28
Error
Definition SQLCore.h:19