DCL 3.7.4
Loading...
Searching...
No Matches
IBField.h File Reference

Go to the source code of this file.

Classes

class  IBField

Macros

#define __DCL_IB_FIELD_H__   20020321

Functions

const wchar_t * __dataTypeName (const XSQLVAR *_sqlvar)

Macro Definition Documentation

◆ __DCL_IB_FIELD_H__

#define __DCL_IB_FIELD_H__   20020321

Definition at line 2 of file IBField.h.

Function Documentation

◆ __dataTypeName()

const wchar_t * __dataTypeName ( const XSQLVAR * _sqlvar)

Definition at line 240 of file IBField.cpp.

241{
242 switch(_sqlvar->sqltype & ~1) {
243 SQLTYPE_NAME(SQL_BOOLEAN, "BOOLEAN");
244 case SQL_SHORT:
245 case SQL_LONG:
246 case SQL_INT64: {
247 if (_sqlvar->sqlscale) {
248 switch (_sqlvar->sqltype & ~1) {
249 SQLTYPE_NAME(SQL_SHORT, "DECIMAL16");
250 SQLTYPE_NAME(SQL_LONG, "DECIMAL32");
251 SQLTYPE_NAME(SQL_INT64, "DECIMAL64");
252 }
253 }
254 else {
255 switch (_sqlvar->sqltype & ~1) {
256 SQLTYPE_NAME(SQL_SHORT, "SMALLINT");
257 SQLTYPE_NAME(SQL_LONG, "INTEGER");
258 SQLTYPE_NAME(SQL_INT64, "INT64");
259 }
260 }
261 }
262 SQLTYPE_NAME(SQL_FLOAT, "FLOAT");
263 SQLTYPE_NAME(SQL_DOUBLE, "DOUBLE");
264 SQLTYPE_NAME(SQL_TYPE_DATE, "DATE");
265 SQLTYPE_NAME(SQL_TYPE_TIME, "TIME");
266 SQLTYPE_NAME(SQL_TIMESTAMP, "TIMESTAMP");
267#if defined(FIREBIRD_IBASE_H) && FB_API_VER >= 40
268 SQLTYPE_NAME(SQL_TIME_TZ_EX, "TIME WITH TIMEZONE");
269 SQLTYPE_NAME(SQL_TIMESTAMP_TZ_EX, "TIMESTAMP WITH TIMEZONE");
270#endif
271 SQLTYPE_NAME(SQL_TEXT, "CHAR");
272 SQLTYPE_NAME(SQL_VARYING, "VARCHAR");
273 case SQL_BLOB: {
274 if (_sqlvar->sqlsubtype == 1)
275 return L"BLOB(TEXT)";
276 else
277 return L"BLOB";
278 }
279 }
280 return L"Unknown Type: Driver is not Support";
281}
#define SQLTYPE_NAME(_dataType, name)
Definition IBField.cpp:238