DCL 3.7.4
Loading...
Searching...
No Matches
SqField.h
Go to the documentation of this file.
1#ifndef __DCL_SQ_FIELD_H__
2#define __DCL_SQ_FIELD_H__ 20260117
3
4__DCL_BEGIN_NAMESPACE
5
6class OutputStream;
7
8class SqField : public SQL::Field
9{
11protected:
12 int __index; // 0, 1, 2, ...
13 String __declType;
14 size_t __maxsize;
15
16protected:
17 SqQuery* query() const;
18 SqConnection* conn() const;
19
20public:
22 virtual ~SqField();
23
24 bool init(SQL::Query* _query, int _index);
25
26 // interfaces
27 virtual const wchar_t* serverDataTypeName() const;
28 virtual bool __getDataSize(size_t* _size, bool _maxsize);
29
30 virtual bool __getData(
31 void* _buf,
32 size_t* _size,
33 SQL::DataType _bufType
34 );
35
36protected:
37 // implementation
38 bool getInteger(void* _buf, size_t* _size);
39 bool getUInteger(void* _buf, size_t* _size);
40 bool getFloat(void* _buf, size_t* _size);
41 bool getDate(SQL::Date* _buf, size_t* _size);
42 bool getTime(SQL::Time* _buf, size_t* _size);
43 bool getTimeStamp(SQL::TimeStamp* _buf, size_t* _size);
44 bool getInterval(SQL::Interval* _buf, size_t* _size);
45 bool getNumeric(char* _buf, size_t* _size);
46 bool getBytes(char* _buf, size_t* _size);
47 bool writeTo(OutputStream* _output, size_t* _size);
48};
49
50inline SqQuery* SqField::query() const
51{
52 return (SqQuery*)Field::__queryHandle;
53}
54
56{
57 return query()->conn();
58}
59
60__DCL_END_NAMESPACE
61
62#endif // __DCL_SQ_FIELD_H__
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:227
DataType
Definition SQLCore.h:59
bool writeTo(OutputStream *_output, size_t *_size)
Definition SqField.cpp:729
bool getInteger(void *_buf, size_t *_size)
Definition SqField.cpp:245
bool getInterval(SQL::Interval *_buf, size_t *_size)
Definition SqField.cpp:624
bool getNumeric(char *_buf, size_t *_size)
Definition SqField.cpp:647
SqConnection * conn() const
Definition SqField.h:55
SqQuery * query() const
Definition SqField.h:50
virtual bool __getData(void *_buf, size_t *_size, SQL::DataType _bufType)
Definition SqField.cpp:210
virtual ~SqField()
Definition SqField.cpp:61
bool getTime(SQL::Time *_buf, size_t *_size)
Definition SqField.cpp:520
bool getTimeStamp(SQL::TimeStamp *_buf, size_t *_size)
Definition SqField.cpp:575
virtual bool __getDataSize(size_t *_size, bool _maxsize)
Definition SqField.cpp:181
bool getUInteger(void *_buf, size_t *_size)
Definition SqField.cpp:325
bool getBytes(char *_buf, size_t *_size)
Definition SqField.cpp:686
virtual const wchar_t * serverDataTypeName() const
Definition SqField.cpp:176
bool init(SQL::Query *_query, int _index)
Definition SqField.cpp:66
bool getDate(SQL::Date *_buf, size_t *_size)
Definition SqField.cpp:467
bool getFloat(void *_buf, size_t *_size)
Definition SqField.cpp:404