commiting changes from enterprise version for V2.4
[csql.git] / src / jdbc / JSqlStatement.cxx
blob36dc36d6ad15607f09cc70e4eaa7d2ac4471140e
1 #include<AbsSqlStatement.h>
2 #include<SqlNwStatement.h>
3 #include<SqlFactory.h>
4 //sqlStmtPtr
7 /* DO NOT EDIT THIS FILE - it is machine generated */
8 #include <jni.h>
9 /* Header for class JSqlStatement */
11 #ifdef __cplusplus
12 extern "C" {
13 #endif
15 * Class: JSqlStatement
16 * Method: alloc
17 * Signature: ()V
19 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_alloc
20 (JNIEnv *env, jobject obj, jint mode)
22 jclass cls;
23 jfieldID fid;
25 AbsSqlStatement *stmt;
26 switch(mode)
28 case 1:
30 stmt = SqlFactory::createStatement(CSql);
31 break;
33 case 2:
35 stmt = SqlFactory::createStatement(CSqlGateway);
36 break;
38 case 3:
40 stmt = SqlFactory::createStatement(CSqlAdapter);
41 break;
43 default:
45 stmt = new SqlNwStatement();
46 stmt->setInnerStatement(NULL);
49 cls = env->GetObjectClass( obj );
50 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
51 if (fid == 0)
53 jclass Exception = env->FindClass("java/lang/Exception");
54 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
55 return;
57 env->SetLongField( obj, fid, (jlong) stmt );
58 return;
62 * Class: JSqlStatement
63 * Method: free
64 * Signature: ()V
66 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_free
67 (JNIEnv *env, jobject obj)
69 jclass cls;
70 jfieldID fid;
72 cls = env->GetObjectClass(obj);
73 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
74 if (fid == 0)
76 jclass Exception = env->FindClass("java/lang/Exception");
77 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
78 return;
80 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
81 delete stmt;
82 return;
86 * Class: JSqlStatement
87 * Method: freeStmt
88 * Signature: ()V
90 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_freeStmt
91 (JNIEnv *env, jobject obj)
93 jclass cls;
94 jfieldID fid;
96 cls = env->GetObjectClass(obj);
97 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
98 if (fid == 0)
100 jclass Exception = env->FindClass("java/lang/Exception");
101 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
102 return;
104 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid);
105 stmt->free();
106 return;
111 * Class: JSqlStatement
112 * Method: setConnectionPtr
113 * Signature: (J)V
115 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setConnectionPtr
116 (JNIEnv *env, jobject obj, jlong conn)
119 jclass cls;
120 jfieldID fid;
122 cls = env->GetObjectClass(obj);
123 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
124 if (fid == 0)
126 jclass Exception = env->FindClass("java/lang/Exception");
127 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
128 return;
130 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid);
131 stmt->setConnection((AbsSqlConnection*) conn);
132 return;
136 * Class: JSqlStatement
137 * Method: prepare
138 * Signature: (Ljava/lang/String;)I
140 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_prepare
141 (JNIEnv *env, jobject obj, jstring stmt)
143 jclass cls;
144 jfieldID fid;
146 cls = env->GetObjectClass(obj);
147 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
148 if (fid == 0)
150 jclass Exception = env->FindClass("java/lang/Exception");
151 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
152 return(-1);
154 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
155 jboolean isCopy = JNI_TRUE;
156 char *stmtString = (char*) env->GetStringUTFChars(stmt, &isCopy );
157 int rv = s->prepare(stmtString);
158 return rv;
162 * Class: JSqlStatement
163 * Method: isSelect
164 * Signature: ()Z
166 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isSelect
167 (JNIEnv *env, jobject obj)
169 jclass cls;
170 jfieldID fid;
172 cls = env->GetObjectClass(obj);
173 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
174 if (fid == 0)
176 jclass Exception = env->FindClass("java/lang/Exception");
177 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
178 return(-1);
180 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
181 return s->isSelect();
185 * Class: JSqlStatement
186 * Method: execute
187 * Signature: ()I
189 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_execute
190 (JNIEnv *env, jobject obj)
192 jclass cls;
193 jfieldID fid;
195 cls = env->GetObjectClass(obj);
196 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
197 if (fid == 0)
199 jclass Exception = env->FindClass("java/lang/Exception");
200 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
201 return(-1);
203 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
204 int rowsAffected =0;
205 DbRetVal rv = stmt->execute(rowsAffected);
206 if (rv != OK) return -1;
207 return rowsAffected;
211 * Class: JSqlStatement
212 * Method: next
213 * Signature: ()J
215 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_next
216 (JNIEnv *env, jobject obj)
218 jclass cls;
219 jfieldID fid;
220 cls = env->GetObjectClass(obj);
221 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
222 if (fid == 0)
224 jclass Exception = env->FindClass("java/lang/Exception");
225 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
226 return(-1);
228 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
229 void *tuple = stmt->next();
230 if (NULL == tuple) return 0; else return 1;
234 * Class: JSqlStatement
235 * Method: close
236 * Signature: ()J
238 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_close
239 (JNIEnv *env, jobject obj)
241 //TODO::stmt currently does not support close
242 jclass cls;
243 jfieldID fid;
244 cls = env->GetObjectClass(obj);
245 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
246 if (fid == 0)
248 jclass Exception = env->FindClass("java/lang/Exception");
249 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
250 return(-1);
252 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
253 int rv =0;
254 rv = stmt->close();
255 return rv;
259 * Class: JSqlStatement
260 * Method: setBoolean
261 * Signature: (I)Z
263 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setBoolean
264 (JNIEnv *env, jobject obj, jint position, jint value)
268 * Class: JSqlStatement
269 * Method: setShort
270 * Signature: (IS)V
272 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setShort
273 (JNIEnv *env, jobject obj, jint position, jshort value)
275 jclass cls;
276 jfieldID fid;
278 cls = env->GetObjectClass( obj );
279 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
280 if (fid == 0)
282 jclass Exception = env->FindClass("java/lang/Exception");
283 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
284 return;
286 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
287 stmt->setShortParam(position, (short) value);
288 return;
292 * Class: JSqlStatement
293 * Method: setInt
294 * Signature: (II)V
296 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setInt
297 (JNIEnv *env, jobject obj, jint position, jint value)
299 jclass cls;
300 jfieldID fid;
302 cls = env->GetObjectClass( obj );
303 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
304 if (fid == 0)
306 jclass Exception = env->FindClass("java/lang/Exception");
307 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
308 return;
310 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
311 stmt->setIntParam(position, (int) value);
312 return;
316 * Class: JSqlStatement
317 * Method: setLong
318 * Signature: (IJ)V
320 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setLong
321 (JNIEnv *env, jobject obj, jint position, jlong value)
323 jclass cls;
324 jfieldID fid;
326 cls = env->GetObjectClass( obj );
327 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
328 if (fid == 0)
330 jclass Exception = env->FindClass("java/lang/Exception");
331 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
332 return;
334 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
335 stmt->setLongLongParam(position, (long long) value);
336 return;
340 * Class: JSqlStatement
341 * Method: setByte
342 * Signature: (IB)V
344 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setByte
345 (JNIEnv *env, jobject obj, jint position, jbyte value)
347 jclass cls;
348 jfieldID fid;
350 cls = env->GetObjectClass( obj );
351 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
352 if (fid == 0)
354 jclass Exception = env->FindClass("java/lang/Exception");
355 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
356 return;
358 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
359 stmt->setByteIntParam(position, (ByteInt) value);
360 return;
363 * Class: JSqlStatement
364 * Method: setFloat
365 * Signature: (IF)V
367 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setFloat
368 (JNIEnv *env, jobject obj, jint position, jfloat value)
370 jclass cls;
371 jfieldID fid;
373 cls = env->GetObjectClass( obj );
374 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
375 if (fid == 0)
377 jclass Exception = env->FindClass("java/lang/Exception");
378 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
379 return;
381 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
382 stmt->setFloatParam(position, (float) value);
383 return;
387 * Class: JSqlStatement
388 * Method: setDouble
389 * Signature: (ID)V
391 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setDouble
392 (JNIEnv *env, jobject obj, jint position, jdouble value)
394 jclass cls;
395 jfieldID fid;
397 cls = env->GetObjectClass( obj );
398 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
399 if (fid == 0)
401 jclass Exception = env->FindClass("java/lang/Exception");
402 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
403 return;
405 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
406 stmt->setDoubleParam(position, (double) value);
407 return;
411 * Class: JSqlStatement
412 * Method: setString
413 * Signature: (ILjava/lang/String;)V
415 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setString
416 (JNIEnv *env, jobject obj, jint position, jstring value)
418 jclass cls;
419 jfieldID fid;
421 cls = env->GetObjectClass( obj );
422 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
423 if (fid == 0)
425 jclass Exception = env->FindClass("java/lang/Exception");
426 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
427 return;
430 jboolean isCopy = JNI_TRUE;
431 char *valueStr = (char*) env->GetStringUTFChars( value, &isCopy );
433 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
434 stmt->setStringParam(position, valueStr);
435 return;
439 * Class: JSqlStatement
440 * Method: setDate
441 * Signature: (ILjava/sql/Date;)V
443 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setDate
444 (JNIEnv *env, jobject obj, jint position, jobject dateObj)
447 jclass cls, datecls;
448 jfieldID fid;
449 jmethodID dateMethod;
451 cls = env->GetObjectClass( obj );
452 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
453 if (fid == 0)
455 jclass Exception = env->FindClass("java/lang/Exception");
456 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
457 return;
459 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
461 // Get date, month, year from java object
462 int d, m, y;
463 datecls = env->GetObjectClass( dateObj );
464 dateMethod = env->GetMethodID( datecls, "getYear", "()I");
465 y = env->CallIntMethod( dateObj, dateMethod);
466 dateMethod = env->GetMethodID( datecls, "getMonth", "()I");
467 m = env->CallIntMethod( dateObj, dateMethod);
468 dateMethod = env->GetMethodID( datecls, "getDate", "()I");
469 d = env->CallIntMethod( dateObj, dateMethod);
471 Date date(y + 1900, m + 1, d);
472 stmt->setDateParam(position, date);
474 return;
479 * Class: JSqlStatement
480 * Method: setTime
481 * Signature: (ILjava/sql/Time;)V
483 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setTime
484 (JNIEnv *env, jobject obj, jint position, jobject timeObj)
487 jclass cls, timecls;
488 jfieldID fid;
489 jmethodID timeMethod;
491 cls = env->GetObjectClass( obj );
492 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
493 if (fid == 0)
495 jclass Exception = env->FindClass("java/lang/Exception");
496 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
497 return;
499 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
501 // Get hour, minures, secs from java object
502 int h, m, s;
503 timecls = env->GetObjectClass( timeObj );
504 timeMethod = env->GetMethodID( timecls, "getHours", "()I");
505 h = env->CallIntMethod( timeObj, timeMethod);
506 timeMethod = env->GetMethodID( timecls, "getMinutes", "()I");
507 m = env->CallIntMethod( timeObj, timeMethod);
508 timeMethod = env->GetMethodID( timecls, "getSeconds", "()I");
509 s = env->CallIntMethod( timeObj, timeMethod);
511 Time time(h, m, s, 0);
512 stmt->setTimeParam(position, time);
514 return;
518 * Class: JSqlStatement
519 * Method: setTimestamp
520 * Signature: (ILjava/sql/Timestamp;)V
522 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setTimestamp
523 (JNIEnv *env, jobject obj, jint position, jobject timeObj)
526 jclass cls, timecls;
527 jfieldID fid;
528 jmethodID timeMethod;
530 cls = env->GetObjectClass( obj );
531 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
532 if (fid == 0)
534 jclass Exception = env->FindClass("java/lang/Exception");
535 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
536 return;
538 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
540 // Get year, month, day, hour, minutes, secs from java object
541 int y, mo, d, h, mn, s;
542 timecls = env->GetObjectClass( timeObj );
544 timeMethod = env->GetMethodID( timecls, "getYear", "()I");
545 y = env->CallIntMethod( timeObj, timeMethod );
546 timeMethod = env->GetMethodID( timecls, "getMonth", "()I");
547 mo = env->CallIntMethod( timeObj, timeMethod );
548 timeMethod = env->GetMethodID( timecls, "getDate", "()I");
549 d = env->CallIntMethod( timeObj, timeMethod );
550 timeMethod = env->GetMethodID( timecls, "getHours", "()I");
551 h = env->CallIntMethod( timeObj, timeMethod);
552 timeMethod = env->GetMethodID( timecls, "getMinutes", "()I");
553 mn = env->CallIntMethod( timeObj, timeMethod);
554 timeMethod = env->GetMethodID( timecls, "getSeconds", "()I");
555 s = env->CallIntMethod( timeObj, timeMethod);
557 TimeStamp timeStamp(y + 1900, mo + 1, d, h, mn, s, 0);
558 stmt->setTimeStampParam(position, timeStamp);
560 return;
564 * Class: JSqlStatement
565 * Method: getShort
566 * Signature: (I)S
568 JNIEXPORT jshort JNICALL Java_csql_jdbc_JSqlStatement_getShort
569 (JNIEnv *env, jobject obj, jint pos)
571 jclass cls;
572 jfieldID fid;
574 cls = env->GetObjectClass( obj );
575 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
576 if (fid == 0)
578 jclass Exception = env->FindClass("java/lang/Exception");
579 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
580 return(-1);
582 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
584 // Validate pos
585 // Handle conversion
587 // Read data at column
588 void *fvp = sqlStmt->getFieldValuePtr( pos );
589 return( * ((short*)fvp) );
593 * Class: JSqlStatement
594 * Method: setNull
595 * Signature: (I)V
597 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setNull
598 (JNIEnv *env, jobject obj, jint pos)
600 jclass cls;
601 jfieldID fid;
603 cls = env->GetObjectClass(obj);
604 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
605 if (fid == 0)
607 jclass Exception = env->FindClass("java/lang/Exception");
608 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
609 return;
611 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
612 s->setNull(pos);
613 return;
619 * Class: csql_jdbc_JSqlStatement
620 * Method: isNull
621 * Signature: (I)Z
623 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isNull
624 (JNIEnv *env, jobject obj, jint pos)
626 jclass cls;
627 jfieldID fid;
629 cls = env->GetObjectClass(obj);
630 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
631 if (fid == 0)
633 jclass Exception = env->FindClass("java/lang/Exception");
634 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
635 return(-1);
637 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
638 return s->isFldNull(pos);
643 * Class: csql_jdbc_JSqlStatement
644 * Method: findColumn
645 * Signature: (Ljava/lang/String;)I
647 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_findColumn
648 (JNIEnv *env, jobject obj, jstring value)
650 jclass cls;
651 jfieldID fid;
653 cls = env->GetObjectClass(obj);
654 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
655 if (fid == 0)
657 jclass Exception = env->FindClass("java/lang/Exception");
658 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
659 return(-1);
662 jboolean isCopy = JNI_TRUE;
663 char *valueStr = (char*) env->GetStringUTFChars( value, &isCopy );
665 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
666 return s->getFldPos(valueStr);
670 * Class: csql_jdbc_JSqlStatement
671 * Method: getParamFldName
672 * Signature: (I)Ljava/lang/String;
674 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getParamFldName
675 (JNIEnv *env, jobject obj, jint pos)
677 jclass cls;
678 jfieldID fid;
680 cls = env->GetObjectClass(obj);
681 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
682 if (fid == 0)
684 jclass Exception = env->FindClass("java/lang/Exception");
685 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
686 return((jstring) 0);
688 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
689 FieldInfo *field = new FieldInfo();
690 DbRetVal rv = s->getParamFldInfo(pos,field);
691 if(rv!=OK)return NULL;
692 _jstring *name = env->NewStringUTF( (char*) field->fldName );
693 delete field;
694 return name;
698 * Class: csql_jdbc_JSqlStatement
699 * Method: getTotalparam
700 * Signature: ()I
702 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getTotalparam
703 (JNIEnv *env, jobject obj)
705 jclass cls;
706 jfieldID fid;
708 cls = env->GetObjectClass(obj);
709 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
710 if (fid == 0)
712 jclass Exception = env->FindClass("java/lang/Exception");
713 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
714 return(-1);
716 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
718 return (s->noOfParamFields());
722 * Class: csql_jdbc_JSqlStatement
723 * Method: getType
724 * Signature: (I)I
726 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getType
727 (JNIEnv *env, jobject obj, jint pos)
729 jclass cls;
730 jfieldID fid;
732 cls = env->GetObjectClass(obj);
733 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
734 if (fid == 0)
736 jclass Exception = env->FindClass("java/lang/Exception");
737 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
738 return(-1);
740 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
742 FieldInfo *field = new FieldInfo();
743 DbRetVal rv = s->getParamFldInfo(pos,field);
744 if(rv!=OK)return 100;
745 int type = field->type;
746 delete field;
747 return type;
751 * Class: csql_jdbc_JSqlStatement
752 * Method: isNullable
753 * Signature: (I)Z
755 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isNullable
756 (JNIEnv *env, jobject obj, jint pos)
758 jclass cls;
759 jfieldID fid;
761 cls = env->GetObjectClass(obj);
762 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
763 if (fid == 0)
765 jclass Exception = env->FindClass("java/lang/Exception");
766 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
767 return(-1);
769 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
771 FieldInfo *field = new FieldInfo();
772 DbRetVal rv = s->getParamFldInfo(pos,field);
773 if(rv!=OK)return (-1);
774 if(field->isNull){
775 delete field;
776 return true;
777 }else{
778 delete field;
779 return false;
785 * Class: csql_jdbc_JSqlStatement
786 * Method: getTotalProjFld
787 * Signature: ()I
790 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getTotalProjFld
791 (JNIEnv *env, jobject obj)
793 jclass cls;
794 jfieldID fid;
796 cls = env->GetObjectClass(obj);
797 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
798 if (fid == 0)
800 jclass Exception = env->FindClass("java/lang/Exception");
801 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
802 return(-1);
804 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
806 return (s->noOfProjFields());
811 * Class: csql_jdbc_JSqlStatement
812 * Method: getProjFldType
813 * Signature: (I)I
815 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getProjFldType
816 (JNIEnv *env, jobject obj, jint pos)
818 jclass cls;
819 jfieldID fid;
821 cls = env->GetObjectClass(obj);
822 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
823 if (fid == 0)
825 jclass Exception = env->FindClass("java/lang/Exception");
826 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
827 return(-1);
829 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
831 FieldInfo *field = new FieldInfo();
832 s->getProjFldInfo(pos,field);
833 int type = field->type;
834 delete field;
836 return type;
841 * Class: csql_jdbc_JSqlStatement
842 * Method: isFldNullable
843 * Signature: (I)Z
845 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isFldNullable
846 (JNIEnv *env, jobject obj, jint pos)
848 jclass cls;
849 jfieldID fid;
851 cls = env->GetObjectClass(obj);
852 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
853 if (fid == 0)
855 jclass Exception = env->FindClass("java/lang/Exception");
856 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
857 return(-1);
859 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
860 FieldInfo *field = new FieldInfo();
861 s->getProjFldInfo(pos,field);
862 bool nul = field->isNull;
863 delete field;
865 return nul;
870 * Class: csql_jdbc_JSqlStatement
871 * Method: getProjFldName
872 * Signature: (I)Ljava/lang/String;
874 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getProjFldName
875 (JNIEnv *env, jobject obj, jint pos)
877 jclass cls;
878 jfieldID fid;
880 cls = env->GetObjectClass(obj);
881 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
882 if (fid == 0)
884 jclass Exception = env->FindClass("java/lang/Exception");
885 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
886 return( (jstring) 0 );
888 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
889 FieldInfo *field = new FieldInfo();
890 s->getProjFldInfo(pos,field);
891 _jstring *name = env->NewStringUTF( (char*) field->fldName );
892 delete field;
893 return name;
898 * Class: csql_jdbc_JSqlStatement
899 * Method: getTableName
900 * Signature: ()Ljava/lang/String;
902 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getTableName
903 (JNIEnv *env, jobject obj)
905 jclass cls;
906 jfieldID fid;
908 cls = env->GetObjectClass(obj);
909 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
910 if (fid == 0)
912 jclass Exception = env->FindClass("java/lang/Exception");
913 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
914 return( (jstring) 0 );
916 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
919 return NULL;
925 * Class: JSqlStatement
926 * Method: getInt
927 * Signature: (I)I
929 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getInt
930 (JNIEnv *env, jobject obj, jint pos)
932 jclass cls;
933 jfieldID fid;
935 cls = env->GetObjectClass( obj );
936 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
937 if (fid == 0)
939 jclass Exception = env->FindClass("java/lang/Exception");
940 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
941 return(-1);
943 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
945 // Validate pos
946 // Handle conversion
948 // Read data at column
949 void *fvp = sqlStmt->getFieldValuePtr( pos );
950 return( * ((int*)fvp) );
954 * Class: JSqlStatement
955 * Method: getLong
956 * Signature: (I)J
958 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_getLong
959 (JNIEnv *env, jobject obj, jint pos)
961 jclass cls;
962 jfieldID fid;
964 cls = env->GetObjectClass( obj );
965 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
966 if (fid == 0)
968 jclass Exception = env->FindClass("java/lang/Exception");
969 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
970 return(-1);
972 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
974 // Validate pos
975 // Handle conversion
977 // Read data at column
978 void *fvp = sqlStmt->getFieldValuePtr( pos );
979 return( * ((long*)fvp) );
983 * Class: JSqlStatement
984 * Method: getByte
985 * Signature: (I)B
987 JNIEXPORT jbyte JNICALL Java_csql_jdbc_JSqlStatement_getByte
988 (JNIEnv *env, jobject obj, jint pos)
990 jclass cls;
991 jfieldID fid;
993 cls = env->GetObjectClass( obj );
994 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
995 if (fid == 0)
997 jclass Exception = env->FindClass("java/lang/Exception");
998 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
999 return(-1);
1001 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1003 // Validate pos
1004 // Handle conversion
1006 // Read data at column
1007 void *fvp = sqlStmt->getFieldValuePtr( pos );
1008 return( * ((char*)fvp) );
1012 * Class: JSqlStatement
1013 * Method: getFloat
1014 * Signature: (I)F
1016 JNIEXPORT jfloat JNICALL Java_csql_jdbc_JSqlStatement_getFloat
1017 (JNIEnv *env, jobject obj, jint pos)
1019 jclass cls;
1020 jfieldID fid;
1022 cls = env->GetObjectClass( obj );
1023 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1024 if (fid == 0)
1026 jclass Exception = env->FindClass("java/lang/Exception");
1027 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1028 return(-1);
1030 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1032 // Validate pos
1033 // Handle conversion
1035 // Read data at column
1036 void *fvp = sqlStmt->getFieldValuePtr( pos );
1037 return( * ((float*)fvp) );
1041 * Class: JSqlStatement
1042 * Method: getDouble
1043 * Signature: (I)D
1045 JNIEXPORT jdouble JNICALL Java_csql_jdbc_JSqlStatement_getDouble
1046 (JNIEnv *env, jobject obj, jint pos)
1048 jclass cls;
1049 jfieldID fid;
1051 cls = env->GetObjectClass( obj );
1052 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1053 if (fid == 0)
1055 jclass Exception = env->FindClass("java/lang/Exception");
1056 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1057 return(-1);
1059 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1061 // Validate pos
1062 // Handle conversion
1064 // Read data at column
1065 void *fvp = sqlStmt->getFieldValuePtr( pos );
1066 return( * ((double*)fvp) );
1070 * Class: JSqlStatement
1071 * Method: getString
1072 * Signature: (I)Ljava/lang/String;
1074 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getString
1075 (JNIEnv *env, jobject obj, jint pos)
1077 jclass cls;
1078 jfieldID fid;
1080 cls = env->GetObjectClass( obj );
1081 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1082 if (fid == 0)
1084 jclass Exception = env->FindClass("java/lang/Exception");
1085 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1086 return( (jstring) 0 );
1088 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1090 // Validate pos
1091 // Handle conversion
1093 // Read data at column
1094 void *fvp = sqlStmt->getFieldValuePtr( pos );
1095 return( env->NewStringUTF( (char*) fvp ) );
1099 * Class: JSqlStatement
1100 * Method: getBytes
1101 * Signature: (I)[B
1103 JNIEXPORT jbyteArray JNICALL Java_csql_jdbc_JSqlStatement_getBytes
1104 (JNIEnv *, jobject, jint);
1107 * Class: JSqlStatement
1108 * Method: getDate
1109 * Signature: (I)Ljava/sql/Date;
1111 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getDate
1112 (JNIEnv *env, jobject obj, jint pos)
1114 jclass cls;
1115 jfieldID fid;
1117 cls = env->GetObjectClass( obj );
1118 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1119 if (fid == 0)
1121 jclass Exception = env->FindClass("java/lang/Exception");
1122 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1123 return( (jobject) 0 );
1125 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1127 // Validate pos
1128 // Handle conversion
1130 // Read data at column
1131 void *fvp = sqlStmt->getFieldValuePtr( pos );
1133 // Create Java Object
1134 jclass cDate = env->FindClass("java/sql/Date");
1135 jmethodID methodID = env->GetMethodID( cDate, "<init>", "(III)V" );
1136 jobject dateObj;
1138 Date *dt = (Date*) fvp;
1139 dateObj = env->NewObject( cDate, methodID,
1140 (jint) dt->year()-1900, (jint) dt->month() - 1,
1141 (jint) dt->dayOfMonth() );
1143 return( dateObj );
1147 * Class: JSqlStatement
1148 * Method: getTime
1149 * Signature: (I)Ljava/sql/Time;
1151 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTime
1152 (JNIEnv *env, jobject obj, jint pos)
1154 jclass cls;
1155 jfieldID fid;
1157 cls = env->GetObjectClass( obj );
1158 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1159 if (fid == 0)
1161 jclass Exception = env->FindClass("java/lang/Exception");
1162 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1163 return( (jobject) 0 );
1165 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1167 // Validate pos
1168 // Handle conversion
1170 // Read data at column
1171 void *fvp = sqlStmt->getFieldValuePtr( pos );
1173 // Create Java Object
1174 jclass cTime = env->FindClass("java/sql/Time");
1175 jmethodID methodID = env->GetMethodID( cTime, "<init>", "(III)V" );
1176 jobject timeObj;
1178 Time *tm = (Time*) fvp;
1179 timeObj = env->NewObject( cTime, methodID,
1180 (jint) tm->hours(), (jint) tm->minutes(),
1181 (jint) tm->seconds() );
1183 return( timeObj );
1187 * Class: JSqlStatement
1188 * Method: getTimestamp
1189 * Signature: (I)Ljava/sql/Timestamp;
1191 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTimestamp
1192 (JNIEnv *env, jobject obj, jint pos)
1194 jclass cls;
1195 jfieldID fid;
1197 cls = env->GetObjectClass( obj );
1198 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1199 if (fid == 0)
1201 jclass Exception = env->FindClass("java/lang/Exception");
1202 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1203 return( (jobject) 0 );
1205 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1207 // Validate pos
1208 // Handle conversion
1210 // Read data at column
1211 void *fvp = sqlStmt->getFieldValuePtr( pos );
1213 // Create Java Object
1214 jclass cTimestamp = env->FindClass("java/sql/Timestamp");
1215 jmethodID methodID = env->GetMethodID( cTimestamp, "<init>", "(IIIIIII)V" );
1216 jobject timeObj;
1218 TimeStamp *ts = (TimeStamp*) fvp;
1219 timeObj = env->NewObject( cTimestamp, methodID, \
1220 (jint) ts->year()-1900, (jint) ts->month() - 1, (jint) ts->dayOfMonth(), \
1221 (jint) ts->hours(), (jint) ts->minutes(), (jint) ts->seconds(), (jint) 0 );
1223 return( timeObj );
1227 * Class: JSqlStatement
1228 * Method: getBoolean
1229 * Signature: (I)Z
1231 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_getBoolean
1232 (JNIEnv *, jobject, jint);
1234 #ifdef __cplusplus
1236 #endif