115{
117 switch(_dataType) {
120 break;
121 }
124 break;
125 }
127 if (_size == sizeof(float)) {
128 __data.f32 = *(float*)_pv;
129 __sqlvar->sqldata = (char*)&__data;
130 __sqlvar->sqltype = CFLOATTYPE;
131 __sqlvar->sqllen = sizeof(float);
132 }
133 else if (_size == sizeof(double)) {
134 __data.f64 = *(double*)_pv;
135 __sqlvar->sqldata = (char*)&__data;
136 __sqlvar->sqltype = CDOUBLETYPE;
137 __sqlvar->sqllen = sizeof(double);
138 }
139 else {
141 return false;
142 }
143 break;
144 }
146 if (_size == sizeof(SQL::Date)) {
147 const SQL::Date* p = (const SQL::Date*)_pv;
148 short mdy[3];
152
153 int r = rmdyjul(mdy, &__data.date);
156 return false;
157 }
158 __sqlvar->sqldata = (char*)&__data;
159 __sqlvar->sqltype = CDATETYPE;
160 __sqlvar->sqllen = sizeof(long);
161 }
162 else {
164 return false;
165 }
166 break;
167 }
169 if (_size == sizeof(SQL::Time)) {
170 const SQL::Time* p = (const SQL::Time*)_pv;
174 return false;
175 }
176
177 __sqlvar->sqldata = (char*)&__data;
178 __sqlvar->sqltype = CDTIMETYPE;
179 __sqlvar->sqllen = sizeof(dtime_t);
180 }
181 else {
183 return false;
184 }
185 break;
186 }
188 if (_size == sizeof(SQL::TimeStamp)) {
189 const SQL::TimeStamp* p = (const SQL::TimeStamp*)_pv;
193 return false;
194 }
195
196 __sqlvar->sqldata = (char*)&__data;
197 __sqlvar->sqltype = CDTIMETYPE;
198 __sqlvar->sqllen = sizeof(dtime_t);
199 }
200 else {
202 return false;
203 }
204 break;
205 }
207 if (_size == sizeof(SQL::Interval)) {
209 (const SQL::Interval*)_pv,
210 _dataType,
211 &__data.ival
212 );
215 return false;
216 }
217
218 __sqlvar->sqldata = (char*)&__data;
219 __sqlvar->sqltype = CINVTYPE;
220 __sqlvar->sqllen = sizeof(intrvl_t);
221 }
222 else {
224 return false;
225 }
226 break;
227 }
230 if (_size > 0) {
231 int r = deccvasc((
char*)_pv, _size, &__data.dec);
234 return false;
235 }
236 __sqlvar->sqldata = (char*)&__data;
237 __sqlvar->sqltype = CDECIMALTYPE;
238 __sqlvar->sqllen = sizeof(dec_t);
239 }
240 else {
242 return false;
243 }
244 break;
245 }
246 }
249 break;
250 }
253 break;
254 }
255 default: {
257 return false;
258 }
259 }
260
262 __indicator = 0;
263 Param::__dataType = _assignType;
264 }
265
266 return true;
267}
#define __SET_ERROR_SQLCODE(SQLCODE)
int __encode_dtime(const SQL::TimeStamp *_s, dtime_t *_r)
int __encode_intrvl(const SQL::Interval *_s, SQL::DataType _dataType, intrvl_t *_r)
#define __SET_ERROR(_errorCode)
bool setBytes(const void *_pv, size_t _size, SQL::DataType _assignType)
bool setInteger(const void *_pv, size_t _size)
bool setUInteger(const void *_pv, size_t _size)
bool setInputStream(const void *_pv, size_t _size, SQL::DataType _assignType)