DCL 3.7.4
Loading...
Searching...
No Matches
IBParam.cpp File Reference
#include <dcl/Config.h>
#include <stdlib.h>
#include <time.h>
#include <ibase.h>
#include <dcl/Object.h>
#include <dcl/SQLCore.h>
#include <dcl/BytesOutputStream.h>
#include <dcl/InputStream.h>
#include <dcl/Charset.h>
#include "IBConnection.h"
#include "IBQuery.h"
#include "IBParam.h"

Go to the source code of this file.

Macros

#define __SET_ERROR(_error)
#define __SET_ERROR_MSG(_msg)
#define __SQLTYPE_IS(_sqltype)

Functions

 IMPLEMENT_CLASSINFO (IBParam, SQL::Param) IBParam
const wchar_t * __dataTypeName (const XSQLVAR *_sqlvar)
size_t __MIN (size_t x, size_t y)

Macro Definition Documentation

◆ __SET_ERROR

#define __SET_ERROR ( _error)
Value:
conn()->setErrorHandle(_error, __THIS_FILE__, __LINE__)
#define __THIS_FILE__
Definition _trace.h:14

Definition at line 28 of file IBParam.cpp.

28#define __SET_ERROR(_error) \
29 conn()->setErrorHandle(_error, __THIS_FILE__, __LINE__)

◆ __SET_ERROR_MSG

#define __SET_ERROR_MSG ( _msg)
Value:
conn()->setErrorMessage(_msg, __THIS_FILE__, __LINE__)

Definition at line 30 of file IBParam.cpp.

30#define __SET_ERROR_MSG(_msg) \
31 conn()->setErrorMessage(_msg, __THIS_FILE__, __LINE__)

◆ __SQLTYPE_IS

#define __SQLTYPE_IS ( _sqltype)
Value:
((__sqltype & ~1) == _sqltype)

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

◆ __MIN()

size_t __MIN ( size_t x,
size_t y )
inline

Definition at line 332 of file IBParam.cpp.

333{
334 return x < y ? x : y;
335}

◆ IMPLEMENT_CLASSINFO()

IMPLEMENT_CLASSINFO ( IBParam ,
SQL::Param  )

Definition at line 33 of file IBParam.cpp.

38 : Param(NULL)
39{
40 __sqlvar = NULL;
41}
#define NULL
Definition Config.h:312