DCL 3.7.4
Loading...
Searching...
No Matches
PqParam.h
Go to the documentation of this file.
1#ifndef __DCL_PQ_PARAM_H__
2#define __DCL_PQ_PARAM_H__ 20260106
3
4__DCL_BEGIN_NAMESPACE
5
6class PqParam : public SQL::Param
7{
9protected:
10 int __index;
11 Oid __type;
12
13 union {
14 uint8_t u8;
15 uint16_t u16;
16 uint32_t u32;
17 uint64_t u64;
18 } __data;
19 ByteString __bytes;
20
21protected:
22 PqQuery* query() const;
23 PqConnection* conn() const;
24
25public:
26 bool init(SQL::Query* _query, int _index, const PGresult* _res);
27 bool onAfterExecute();
28
30 virtual ~PqParam();
31
32 // interfaces
33 virtual const wchar_t* serverDataTypeName() const;
34 virtual void setNull();
35
36 virtual bool __setData(
37 _CONST void* _val,
38 size_t _size,
39 SQL::DataType _valType,
40 SQL::DataType _sqlType
41 );
42
43 // implementation
44 bool setInteger(const void* _val, size_t _size);
45 bool setUInteger(const void* _val, size_t _size);
46 bool setFloat(const void* _val, size_t _size);
47 bool setDate(const SQL::Date* _val, size_t _size);
48 bool setTime(const SQL::Time* _val, size_t _size);
49 bool setTimeStamp(const SQL::TimeStamp* _val, size_t _size);
50 bool setInterval(const SQL::Interval* _val, size_t _size);
51
52 bool setBytes(
53 _CONST void* _val,
54 size_t _size,
55 SQL::DataType _valType,
56 SQL::DataType _sqlType
57 );
58};
59
60inline PqQuery* PqParam::query() const
61{
62 return (PqQuery*)Param::__queryHandle;
63}
64
66{
67 return query()->conn();
68}
69
70__DCL_END_NAMESPACE
71
72#endif // __DCL_PQ_PARAM_H__
#define _CONST
Definition Config.h:325
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:227
bool setBytes(_CONST void *_val, size_t _size, SQL::DataType _valType, SQL::DataType _sqlType)
Definition PqParam.cpp:620
virtual bool __setData(_CONST void *_val, size_t _size, SQL::DataType _valType, SQL::DataType _sqlType)
Definition PqParam.cpp:100
uint64_t u64
Definition PqParam.h:17
bool setFloat(const void *_val, size_t _size)
Definition PqParam.cpp:331
PqConnection * conn() const
Definition PqParam.h:65
virtual const wchar_t * serverDataTypeName() const
Definition PqParam.cpp:85
bool setTimeStamp(const SQL::TimeStamp *_val, size_t _size)
Definition PqParam.cpp:506
bool init(SQL::Query *_query, int _index, const PGresult *_res)
Definition PqParam.cpp:64
uint16_t u16
Definition PqParam.h:15
bool setUInteger(const void *_val, size_t _size)
Definition PqParam.cpp:239
virtual ~PqParam()
Definition PqParam.cpp:60
uint8_t u8
Definition PqParam.h:14
bool onAfterExecute()
Definition PqParam.cpp:77
bool setTime(const SQL::Time *_val, size_t _size)
Definition PqParam.cpp:457
bool setInteger(const void *_val, size_t _size)
Definition PqParam.cpp:147
bool setInterval(const SQL::Interval *_val, size_t _size)
Definition PqParam.cpp:568
PqQuery * query() const
Definition PqParam.h:60
virtual void setNull()
Definition PqParam.cpp:90
bool setDate(const SQL::Date *_val, size_t _size)
Definition PqParam.cpp:415
uint32_t u32
Definition PqParam.h:16
DataType
Definition SQLCore.h:59