DCL 4.0
Loading...
Searching...
No Matches
MyParam.h
Go to the documentation of this file.
1#ifndef __DCL_MYSQL_PARAM_H__
2#define __DCL_MYSQL_PARAM_H__ 20031025_20250414
3
4__DCL_BEGIN_NAMESPACE
5
6class InputStream;
7
8class MyParam : public SQL::Param
9{
11protected:
12 unsigned int __index;
13 MYSQL_BIND* __bind;
14 union {
15 int32_t i32;
16 int64_t i64;
17 uint32_t u32;
18 uint64_t u64;
19 float f32;
20 double f64;
21 MYSQL_TIME time;
22 } __data;
23 InputStream* __input;
24 size_t __size;
25
26protected:
27 void setErrorStatus(SQL::Error _error,
28 const wchar_t* _filename, int _line);
29 void setErrorStatus(const ByteString& _message,
30 const wchar_t* _filename, int _line);
31
32 MyQuery* query() const;
33
34public:
35 bool init(SQL::Query* _query, unsigned int _index, MYSQL_BIND* _bind);
36
37 bool onBeforeExecute();
38 void onAfterExecute();
39
41 virtual ~MyParam();
42
43 virtual const wchar_t* serverDataTypeName() const;
44
45 virtual void setNull();
46 virtual bool __setData(
47 _CONST void* _pv,
48 size_t _size,
49 SQL::DataType _dataType,
50 SQL::DataType _assignType
51 );
52};
53
55 const wchar_t* _filename, int _line)
56{
57 ((MyConnection*)Param::connection())->setErrorStatus(
58 _error,
59 _filename,
60 _line
61 );
62}
63
64inline void MyParam::setErrorStatus(const ByteString& _message,
65 const wchar_t* _filename, int _line)
66{
67 ((MyConnection*)Param::connection())->setErrorStatus(
68 _message,
69 _filename,
70 _line
71 );
72}
73
74inline MyQuery* MyParam::query() const
75{
76 return (MyQuery*)Param::__queryHandle;
77}
78
79
80
81__DCL_END_NAMESPACE
82
83#endif // __DCL_MYSQL_PARAM_H__
84
85
#define _CONST
Definition Config.h:353
#define DECLARE_CLASSINFO(class_name)
Definition Object.h:210
double f64
Definition MyParam.h:20
virtual bool __setData(_CONST void *_pv, size_t _size, SQL::DataType _dataType, SQL::DataType _assignType)
Definition MyParam.cpp:145
virtual void setNull()
Definition MyParam.cpp:132
float f32
Definition MyParam.h:19
MYSQL_TIME time
Definition MyParam.h:21
int64_t i64
Definition MyParam.h:16
int32_t i32
Definition MyParam.h:15
bool init(SQL::Query *_query, unsigned int _index, MYSQL_BIND *_bind)
Definition MyParam.cpp:57
uint32_t u32
Definition MyParam.h:17
virtual const wchar_t * serverDataTypeName() const
Definition MyParam.cpp:113
virtual ~MyParam()
Definition MyParam.cpp:52
void setErrorStatus(SQL::Error _error, const wchar_t *_filename, int _line)
Definition MyParam.h:54
uint64_t u64
Definition MyParam.h:18
MyQuery * query() const
Definition MyParam.h:74
void onAfterExecute()
Definition MyParam.cpp:99
bool onBeforeExecute()
Definition MyParam.cpp:67
DataType
Definition SQLCore.h:62
Error
Definition SQLCore.h:19