DCL 3.7.4
Loading...
Searching...
No Matches
MyField.cpp File Reference
#include <dcl/Config.h>
#include <errno.h>
#include <float.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
#include <mysql.h>
#include <dcl/Object.h>
#include <dcl/size_t.h>
#include <dcl/SQLCore.h>
#include <dcl/OutputStream.h>
#include <dcl/Charset.h>
#include "MyConnection.h"
#include "MyQuery.h"
#include "MyField.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 __SET_ERROR(_error)
#define __SET_ERROR_HANDLE(_error)
#define __SET_ERROR_MSG(_msg)
#define SQLTYPE_NAME(type, name)
#define __TYPE_IS(_type)
#define __UNNEED__   0

Functions

 IMPLEMENT_CLASSINFO (MyField, SQL::Field) MyField
const wchar_t * __dataTypeName (enum_field_types _type, unsigned int _flags)

Macro Definition Documentation

◆ __DCL_TRACE0_N

#define __DCL_TRACE0_N ( fmt)

Definition at line 34 of file MyField.cpp.

◆ __DCL_TRACE1_N

#define __DCL_TRACE1_N ( fmt,
arg )

Definition at line 35 of file MyField.cpp.

◆ __DCL_TRACE2_N

#define __DCL_TRACE2_N ( fmt,
arg1,
arg2 )

Definition at line 36 of file MyField.cpp.

◆ __DCL_TRACE3_N

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

Definition at line 37 of file MyField.cpp.

◆ __DCL_TRACE4_N

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

Definition at line 38 of file MyField.cpp.

◆ __SET_ERROR

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

Definition at line 46 of file MyField.cpp.

46#define __SET_ERROR(_error) \
47 connection()->setErrorStatus(_error, __THIS_FILE__, __LINE__)

◆ __SET_ERROR_HANDLE

#define __SET_ERROR_HANDLE ( _error)
Value:
conn()->setErrorHandle(_error, __THIS_FILE__, __LINE__)

Definition at line 48 of file MyField.cpp.

48#define __SET_ERROR_HANDLE(_error) \
49 conn()->setErrorHandle(_error, __THIS_FILE__, __LINE__)

◆ __SET_ERROR_MSG

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

Definition at line 50 of file MyField.cpp.

50#define __SET_ERROR_MSG(_msg) \
51 conn()->setErrorMessage(_msg, __THIS_FILE__, __LINE__)

◆ __TRACE_THIS

#define __TRACE_THIS   0

Definition at line 26 of file MyField.cpp.

◆ __TYPE_IS

#define __TYPE_IS ( _type)
Value:
(__field->type == _type)

Definition at line 339 of file MyField.cpp.

◆ __UNNEED__

#define __UNNEED__   0

◆ SQLTYPE_NAME

#define SQLTYPE_NAME ( type,
name )
Value:
case type : return name

Definition at line 231 of file MyField.cpp.

Function Documentation

◆ __dataTypeName()

const wchar_t * __dataTypeName ( enum_field_types _type,
unsigned int _flags )

Definition at line 233 of file MyField.cpp.

234{
235 switch(_type) {
236 SQLTYPE_NAME(MYSQL_TYPE_DECIMAL, L"DECIMAL");
237 case MYSQL_TYPE_TINY :
238 if (_flags & UNSIGNED_FLAG)
239 return L"TINYINT UNSIGNED";
240 return L"TINYINT";
241 case MYSQL_TYPE_SHORT :
242 if (_flags & UNSIGNED_FLAG)
243 return L"SMALLINT UNSIGNED";
244 return L"SMALLINT";
245 case MYSQL_TYPE_LONG:
246 if (_flags & UNSIGNED_FLAG)
247 return L"INTEGER UNSIGNED";
248 return L"INTEGER";
249 SQLTYPE_NAME(MYSQL_TYPE_FLOAT, L"FLOAT");
250 SQLTYPE_NAME(MYSQL_TYPE_DOUBLE, L"DOUBLE");
251 SQLTYPE_NAME(MYSQL_TYPE_NULL, L"NULL-TYPE");
252 SQLTYPE_NAME(MYSQL_TYPE_TIMESTAMP, L"TIMESTAMP");
253 case MYSQL_TYPE_LONGLONG:
254 if (_flags & UNSIGNED_FLAG)
255 return L"BIGINT UNSIGNED";
256 return L"BIGINT";
257 case MYSQL_TYPE_INT24 :
258 if (_flags & UNSIGNED_FLAG)
259 return L"MEDIUMINT UNSIGNED";
260 return L"MEDIUMINT";
261 SQLTYPE_NAME(MYSQL_TYPE_DATE, L"DATE");
262 SQLTYPE_NAME(MYSQL_TYPE_TIME, L"TIME");
263 SQLTYPE_NAME(MYSQL_TYPE_DATETIME, L"DATETIME");
264 SQLTYPE_NAME(MYSQL_TYPE_YEAR, L"YEAR");
265 SQLTYPE_NAME(MYSQL_TYPE_NEWDATE, L"NEWDATE");
266 SQLTYPE_NAME(MYSQL_TYPE_VARCHAR, L"VARCHAR");
267 SQLTYPE_NAME(MYSQL_TYPE_BIT, L"BIT");
268 SQLTYPE_NAME(MYSQL_TYPE_TIMESTAMP2, L"TIMESTAMP2");
269 SQLTYPE_NAME(MYSQL_TYPE_DATETIME2, L"DATETIME");
270 SQLTYPE_NAME(MYSQL_TYPE_TIME2, L"TIME2");
271 SQLTYPE_NAME(MYSQL_TYPE_JSON, L"JSON");
272 SQLTYPE_NAME(MYSQL_TYPE_NEWDECIMAL, L"NEWDECIMAL");
273 SQLTYPE_NAME(MYSQL_TYPE_ENUM, L"ENUM");
274 SQLTYPE_NAME(MYSQL_TYPE_SET, L"SET");
275 case MYSQL_TYPE_TINY_BLOB : // 2^8
276 if (_flags & BINARY_FLAG)
277 return L"TINYBLOB";
278 return L"TINYTEXT";
279 case MYSQL_TYPE_MEDIUM_BLOB: // 2^24
280 if (_flags & BINARY_FLAG)
281 return L"MEDIUMBLOB";
282 return L"MEDIUMTEXT";
283 case MYSQL_TYPE_LONG_BLOB: // 2^32
284 if (_flags & BINARY_FLAG)
285 return L"LONGBLOB";
286 return L"LONGTEXT";
287 case MYSQL_TYPE_BLOB : // 2^16
288 if (_flags & BINARY_FLAG)
289 return L"BLOB";
290 return L"TEXT";
291 SQLTYPE_NAME(MYSQL_TYPE_VAR_STRING, L"VAR STRING");
292 SQLTYPE_NAME(MYSQL_TYPE_STRING, L"STRING");
293 SQLTYPE_NAME(MYSQL_TYPE_GEOMETRY, L"GEOMETRY");
294 SQLTYPE_NAME(MAX_NO_FIELD_TYPES, L"MAX_NO_FIELD_TYPES");
295 default:
296 ;
297 }
298 return L"Unknown Type: Driver Not Support";
299}
#define SQLTYPE_NAME(type, name)
Definition MyField.cpp:231

◆ IMPLEMENT_CLASSINFO()

IMPLEMENT_CLASSINFO ( MyField ,
SQL::Field  )

Definition at line 53 of file MyField.cpp.

56 : Field(NULL)
57{
58 __index = 0;
59 __field = NULL;
60 __bind = NULL;
61 __maxsize = 0;
62}
#define NULL
Definition Config.h:312