DCL 3.7.4
Loading...
Searching...
No Matches
SqParam.h
Go to the documentation of this file.
1#ifndef __DCL_SQ_PARAM_H__
2#define __DCL_SQ_PARAM_H__ 20260117
3
4__DCL_BEGIN_NAMESPACE
5
6class SqParam : public SQL::Param
7{
9protected:
10 int __number; // 1, 2, ...
11 ByteString __name;
12
13 ByteString __bytes;
14 union {
15 int64_t n;
16 double d;
17 const void* p;
18 } __data;
19 int __type;
20 size_t __size;
21
22protected:
23 SqQuery* query() const;
24 SqConnection* conn() const;
25
26public:
27 bool init(SQL::Query* _query, int _number, const char* _name);
28 bool onBeforeExecute();
29 bool onAfterExecute();
30
32 virtual ~SqParam();
33
34 // interfaces
35 virtual const wchar_t* serverDataTypeName() const;
36 virtual void setNull();
37
38 virtual bool __setData(
39 _CONST void* _val,
40 size_t _size,
41 SQL::DataType _valType,
42 SQL::DataType _sqlType
43 );
44
45 // implementation
46 bool setInteger(const void* _val, size_t _size);
47 bool setUInteger(const void* _val, size_t _size);
48 bool setFloat(const void* _val, size_t _size);
49 bool setDate(const SQL::Date* _val, size_t _size);
50 bool setTime(const SQL::Time* _val, size_t _size);
51 bool setTimeStamp(const SQL::TimeStamp* _val, size_t _size);
52 bool setInterval(const SQL::Interval* _val, size_t _size);
53
54 bool setBytes(
55 _CONST void* _val,
56 size_t _size,
57 SQL::DataType _valType,
58 SQL::DataType _sqlType
59 );
60};
61
62inline SqQuery* SqParam::query() const
63{
64 return (SqQuery*)Param::__queryHandle;
65}
66
68{
69 return query()->conn();
70}
71
72__DCL_END_NAMESPACE
73
74#endif // __DCL_SQ_PARAM_H__
#define _CONST
Definition Config.h:325
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:227
DataType
Definition SQLCore.h:59
bool onBeforeExecute()
Definition SqParam.cpp:71
bool setUInteger(const void *_val, size_t _size)
Definition SqParam.cpp:206
bool setDate(const SQL::Date *_val, size_t _size)
Definition SqParam.cpp:256
bool init(SQL::Query *_query, int _number, const char *_name)
Definition SqParam.cpp:58
bool setFloat(const void *_val, size_t _size)
Definition SqParam.cpp:235
double d
Definition SqParam.h:16
bool setTime(const SQL::Time *_val, size_t _size)
Definition SqParam.cpp:283
bool onAfterExecute()
Definition SqParam.cpp:107
virtual void setNull()
Definition SqParam.cpp:118
virtual ~SqParam()
Definition SqParam.cpp:54
virtual bool __setData(_CONST void *_val, size_t _size, SQL::DataType _valType, SQL::DataType _sqlType)
Definition SqParam.cpp:130
bool setBytes(_CONST void *_val, size_t _size, SQL::DataType _valType, SQL::DataType _sqlType)
Definition SqParam.cpp:405
SqConnection * conn() const
Definition SqParam.h:67
virtual const wchar_t * serverDataTypeName() const
Definition SqParam.cpp:113
int64_t n
Definition SqParam.h:15
bool setInteger(const void *_val, size_t _size)
Definition SqParam.cpp:177
const void * p
Definition SqParam.h:17
bool setTimeStamp(const SQL::TimeStamp *_val, size_t _size)
Definition SqParam.cpp:319
SqQuery * query() const
Definition SqParam.h:62
bool setInterval(const SQL::Interval *_val, size_t _size)
Definition SqParam.cpp:366