DCL 4.1
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 __SQLTYPE_IS(_sqltype)

Functions

__DCL_BEGIN_NAMESPACE 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

◆ __SQLTYPE_IS

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

Function Documentation

◆ __dataTypeName()

const wchar_t * __dataTypeName ( const XSQLVAR * _sqlvar)

Definition at line 211 of file IBField.cpp.

212{
213 switch(_sqlvar->sqltype & ~1) {
214 case SQL_SHORT:
215 case SQL_LONG:
216 case SQL_INT64: {
217 if (_sqlvar->sqlscale) {
218 switch (_sqlvar->sqltype & ~1) {
219 SQLTYPE_NAME(SQL_SHORT, "DECIMAL16");
220 SQLTYPE_NAME(SQL_LONG, "DECIMAL32");
221 SQLTYPE_NAME(SQL_INT64, "DECIMAL64");
222 }
223 }
224 else {
225 switch (_sqlvar->sqltype & ~1) {
226 SQLTYPE_NAME(SQL_SHORT, "SMALLINT");
227 SQLTYPE_NAME(SQL_LONG, "INTEGER");
228 SQLTYPE_NAME(SQL_INT64, "INT64");
229 }
230 }
231 }
232 SQLTYPE_NAME(SQL_FLOAT, "FLOAT");
233 SQLTYPE_NAME(SQL_DOUBLE, "DOUBLE");
234 SQLTYPE_NAME(SQL_TYPE_DATE, "DATE");
235 SQLTYPE_NAME(SQL_TYPE_TIME, "TIME");
236 SQLTYPE_NAME(SQL_TIMESTAMP, "TIMESTAMP");
237#if defined(FIREBIRD_IBASE_H) && FB_API_VER >= 40
238 SQLTYPE_NAME(SQL_TIME_TZ_EX, "TIME WITH TIMEZONE");
239 SQLTYPE_NAME(SQL_TIMESTAMP_TZ_EX, "TIMESTAMP WITH TIMEZONE");
240#endif
241 SQLTYPE_NAME(SQL_TEXT, "CHAR");
242 SQLTYPE_NAME(SQL_VARYING, "VARCHAR");
243 case SQL_BLOB: {
244 if (_sqlvar->sqlsubtype == 1)
245 return L"BLOB(TEXT)";
246 else
247 return L"BLOB";
248 }
249 }
250 return L"Unknown Type: Driver is not Support";
251}
#define SQLTYPE_NAME(_dataType, name)
Definition IBField.cpp:209

◆ __MIN()

size_t __MIN ( size_t x,
size_t y )
inline

Definition at line 327 of file IBParam.cpp.

328{
329 return x < y ? x : y;
330}

◆ IMPLEMENT_CLASSINFO()

__DCL_BEGIN_NAMESPACE IMPLEMENT_CLASSINFO ( IBParam ,
SQL::Param  )

Definition at line 28 of file IBParam.cpp.

33 : Param(NULL)
34{
35 __sqlvar = NULL;
36}
#define NULL
Definition Config.h:340