DCL 4.0
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 199 of file IBField.cpp.

200{
201 switch(_sqlvar->sqltype & ~1) {
202 case SQL_SHORT:
203 case SQL_LONG:
204 case SQL_INT64: {
205 if (_sqlvar->sqlscale) {
206#ifdef __DCL_DEBUG
207 switch (_sqlvar->sqltype & ~1) {
208 SQLTYPE_NAME(SQL_SHORT, "DECIMAL(16)");
209 SQLTYPE_NAME(SQL_LONG, "DECIMAL(32)");
210 SQLTYPE_NAME(SQL_INT64, "DECIMAL(64)");
211 }
212#else
213 return L"DECIMAL";
214#endif
215 }
216 else {
217 switch (_sqlvar->sqltype & ~1) {
218 SQLTYPE_NAME(SQL_SHORT, "SMALLINT");
219 SQLTYPE_NAME(SQL_LONG, "INTEGER");
220 SQLTYPE_NAME(SQL_INT64, "INT64");
221 }
222 }
223 }
224 SQLTYPE_NAME(SQL_FLOAT, "FLOAT");
225 SQLTYPE_NAME(SQL_DOUBLE, "DOUBLE");
226 SQLTYPE_NAME(SQL_TYPE_TIME, "TIME");
227 SQLTYPE_NAME(SQL_TYPE_DATE, "DATE");
228 SQLTYPE_NAME(SQL_TIMESTAMP, "TIMESTAMP");
229 SQLTYPE_NAME(SQL_TEXT, "CHAR");
230 SQLTYPE_NAME(SQL_VARYING, "VARCHAR");
231 case SQL_BLOB: {
232 if (_sqlvar->sqlsubtype == 1)
233 return L"BLOB(TEXT)";
234 else
235 return L"BLOB";
236 }
237 }
238 return L"Unknown Type: Driver is not Support";
239}
#define SQLTYPE_NAME(_dataType, name)
Definition IBField.cpp:197

◆ __MIN()

size_t __MIN ( size_t x,
size_t y )
inline

Definition at line 316 of file IBParam.cpp.

317{
318 return x < y ? x : y;
319}

◆ 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