DCL 4.0
Loading...
Searching...
No Matches
IFXField.cpp File Reference
#include <dcl/Config.h>
#include <stdlib.h>
#include <string.h>
#include <float.h>
#include <sqlhdr.h>
#include <sqltypes.h>
#include <locator.h>
#include <sqlda.h>
#include <sqlstype.h>
#include <dcl/Object.h>
#include <dcl/OutputStream.h>
#include <dcl/Charset.h>
#include <dcl/SQLCore.h>
#include "IFXConnection.h"
#include "IFXQuery.h"
#include "IFXField.h"
#include "IFXUtils.h"
#include "IFXTypes_.h"

Go to the source code of this file.

Macros

#define __TRACE_THIS   0
#define __DCL_TRACE0_N(fmt)
#define __DCL_TRACE1_N(fmt, arg)
#define __DCL_TRACE2_N(fmt, arg1, arg2)
#define __DCL_TRACE3_N(fmt, arg1, arg2, arg3)
#define __DCL_TRACE4_N(fmt, arg1, arg2, arg3, arg4)
#define __SQLTYPE_IS(_sqltype)
#define SQLTYPE_NAME(_dataType, name)

Functions

__DCL_BEGIN_NAMESPACE IMPLEMENT_CLASSINFO (IFXField, SQL::Field) IFXField
const wchar_t * __dataTypeName (const ifx_sqlvar_t *_sqlvar)

Macro Definition Documentation

◆ __DCL_TRACE0_N

#define __DCL_TRACE0_N ( fmt)

Definition at line 37 of file IFXField.cpp.

◆ __DCL_TRACE1_N

#define __DCL_TRACE1_N ( fmt,
arg )

Definition at line 38 of file IFXField.cpp.

◆ __DCL_TRACE2_N

#define __DCL_TRACE2_N ( fmt,
arg1,
arg2 )

Definition at line 39 of file IFXField.cpp.

◆ __DCL_TRACE3_N

#define __DCL_TRACE3_N ( fmt,
arg1,
arg2,
arg3 )

Definition at line 40 of file IFXField.cpp.

◆ __DCL_TRACE4_N

#define __DCL_TRACE4_N ( fmt,
arg1,
arg2,
arg3,
arg4 )

Definition at line 41 of file IFXField.cpp.

◆ __SQLTYPE_IS

#define __SQLTYPE_IS ( _sqltype)
Value:
((__sqlvar->sqltype & SQLTYPE) == _sqltype)

Definition at line 61 of file IFXField.cpp.

◆ __TRACE_THIS

#define __TRACE_THIS   0

Definition at line 29 of file IFXField.cpp.

◆ SQLTYPE_NAME

#define SQLTYPE_NAME ( _dataType,
name )
Value:
case _dataType : return L ## name

Definition at line 288 of file IFXField.cpp.

Function Documentation

◆ __dataTypeName()

const wchar_t * __dataTypeName ( const ifx_sqlvar_t * _sqlvar)

Definition at line 290 of file IFXField.cpp.

291{
292 switch(_sqlvar->sqltype & SQLTYPE) {
293 SQLTYPE_NAME(SQLCHAR, "CHAR" ); // 0
294 SQLTYPE_NAME(SQLSMINT, "SMALLINT" ); // 1
295 SQLTYPE_NAME(SQLINT, "INTEGER" ); // 2
296 SQLTYPE_NAME(SQLFLOAT, "FLOAT" ); // 3
297 SQLTYPE_NAME(SQLSMFLOAT, "SMALLFLOAT"); // 4
298 SQLTYPE_NAME(SQLDECIMAL, "DECIMAL" ); // 5
299 SQLTYPE_NAME(SQLSERIAL, "SERIAL" ); // 6
300 SQLTYPE_NAME(SQLDATE, "DATE" ); // 7
301 SQLTYPE_NAME(SQLMONEY, "MONEY" ); // 8
302 SQLTYPE_NAME(SQLNULL, "NULL" ); // 9
303 SQLTYPE_NAME(SQLDTIME, "DATETIME" ); // 10
304 SQLTYPE_NAME(SQLBYTES, "BYTE" ); // 11
305 SQLTYPE_NAME(SQLTEXT, "TEXT" ); // 12
306 SQLTYPE_NAME(SQLVCHAR, "VARCHAR" ); // 13
307 SQLTYPE_NAME(SQLINTERVAL, "INTERVAL" ); // 14
308 SQLTYPE_NAME(SQLNCHAR, "NCHAR" ); // 15
309 SQLTYPE_NAME(SQLNVCHAR, "NVARCHAR" ); // 16
310 SQLTYPE_NAME(SQLINT8, "INT8" ); // 17
311 SQLTYPE_NAME(SQLSERIAL8, "SERIAL8" ); // 18
312 SQLTYPE_NAME(SQLSET, "SET" ); // 19
313 SQLTYPE_NAME(SQLMULTISET, "MULTISET" ); // 20
314 SQLTYPE_NAME(SQLLIST, "LIST" ); // 21
315 SQLTYPE_NAME(SQLROW, "ROW" ); // 22
316 SQLTYPE_NAME(SQLCOLLECTION, "COLLECTION"); // 23
317 SQLTYPE_NAME(SQLROWREF, "ROWREF" ); // 24
318
319 SQLTYPE_NAME(SQLUDTVAR, "UDTVAR" ); // 40
320 SQLTYPE_NAME(SQLUDTFIXED, "UDTFIXED" ); // 41
321 SQLTYPE_NAME(SQLREFSER8, "REFSER8" ); // 42
322 SQLTYPE_NAME(SQLLVARCHAR, "LVARCHAR" ); // 43
323 SQLTYPE_NAME(SQLSENDRECV, "SENDRECV" ); // 44
324 SQLTYPE_NAME(SQLBOOL, "BOOLEAN" ); // 45
325 SQLTYPE_NAME(SQLINFXBIGINT, "BIGINT" ); // 52 250504
326 SQLTYPE_NAME(SQLBIGSERIAL, "BIGSERIAL" ); // 53 250504
327
328 }
329 return L"Unknown Type: Driver is not Support";
330}
#define SQLTYPE_NAME(_dataType, name)
Definition IFXField.cpp:288

◆ IMPLEMENT_CLASSINFO()

__DCL_BEGIN_NAMESPACE IMPLEMENT_CLASSINFO ( IFXField ,
SQL::Field  )

Definition at line 49 of file IFXField.cpp.

52 : Field(NULL)
53{
54 __sqlvar = NULL;
55 __indicator = 0; // NOT NULL의 경우 체크하지 않는다.
56
57 __maxDataSize = 0;
58 __dataSize = 0;
59}
#define NULL
Definition Config.h:340