DCL 3.7.4
Loading...
Searching...
No Matches
MyField.h
Go to the documentation of this file.
1#ifndef __DCL_MY_FIELD_H__
2#define __DCL_MY_FIELD_H__ 20031025_20250414
3
4__DCL_BEGIN_NAMESPACE
5
6class MyField : public SQL::Field
7{
9protected:
10 unsigned int __index;
11 const MYSQL_FIELD* __field;
12 const MYSQL_BIND* __bind;
13
14 size_t __maxsize;
15
16protected:
17 MyQuery* query() const;
18 MyConnection* conn() const;
19
20public:
22 virtual ~MyField();
23
24 bool init(SQL::Query* _query, unsigned int _index,
25 MYSQL_FIELD* _field, MYSQL_BIND* _bind);
26
27 // interface
28 virtual const wchar_t* serverDataTypeName() const;
29 virtual bool __getDataSize(size_t* _size, bool _maxsize);
30
31 virtual bool __getData(
32 void* _buf,
33 size_t* _size,
34 SQL::DataType _bufType
35 );
36
37protected:
38 // implementation
39 bool getInteger(void* _buf, size_t* _size);
40 bool getUInteger(void* _buf, size_t* _size);
41 bool getFloat(void* _buf, size_t* _size);
42 bool getDate(SQL::Date* _buf, size_t* _size);
43 bool getTimeStamp(SQL::TimeStamp* _buf, size_t* _size);
44 bool getTime(SQL::Time* _buf, size_t* _size);
45 bool getInterval(SQL::Interval* _buf, size_t* _size);
46};
47
48inline MyQuery* MyField::query() const
49{
50 return (MyQuery*)Field::__queryHandle;
51}
52
54{
55 return query()->conn();
56}
57
58const wchar_t* __dataTypeName(enum_field_types _type, unsigned int _flags);
59
60__DCL_END_NAMESPACE
61
62#endif // __DCL_MY_FIELD_H__
const wchar_t * __dataTypeName(enum_field_types _type, unsigned int _flags)
Definition MyField.cpp:233
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:227
bool init(SQL::Query *_query, unsigned int _index, MYSQL_FIELD *_field, MYSQL_BIND *_bind)
Definition MyField.cpp:69
bool getUInteger(void *_buf, size_t *_size)
Definition MyField.cpp:651
bool getTime(SQL::Time *_buf, size_t *_size)
Definition MyField.cpp:959
virtual const wchar_t * serverDataTypeName() const
Definition MyField.cpp:301
bool getDate(SQL::Date *_buf, size_t *_size)
Definition MyField.cpp:918
bool getTimeStamp(SQL::TimeStamp *_buf, size_t *_size)
Definition MyField.cpp:936
MyQuery * query() const
Definition MyField.h:48
bool getFloat(void *_buf, size_t *_size)
Definition MyField.cpp:833
bool getInteger(void *_buf, size_t *_size)
Definition MyField.cpp:468
virtual ~MyField()
Definition MyField.cpp:64
MyConnection * conn() const
Definition MyField.h:53
virtual bool __getDataSize(size_t *_size, bool _maxsize)
Definition MyField.cpp:306
virtual bool __getData(void *_buf, size_t *_size, SQL::DataType _bufType)
Definition MyField.cpp:341
bool getInterval(SQL::Interval *_buf, size_t *_size)
Definition MyField.cpp:979
DataType
Definition SQLCore.h:59