1 #include<AbsSqlStatement.h>
3 #include<SqlNwStatement.h>
7 /* DO NOT EDIT THIS FILE - it is machine generated */
9 /* Header for class JSqlStatement */
15 * Class: JSqlStatement
19 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_alloc
20 (JNIEnv
*env
, jobject obj
, jint mode
)
25 AbsSqlStatement
*stmt
;
30 stmt
= SqlFactory::createStatement(CSql
);
35 stmt
= SqlFactory::createStatement(CSqlGateway
);
40 stmt
= SqlFactory::createStatement(CSqlAdapter
);
45 stmt
= new SqlNwStatement();
46 stmt
->setInnerStatement(NULL
);
49 cls
= env
->GetObjectClass( obj
);
50 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
53 jclass Exception
= env
->FindClass("java/lang/Exception");
54 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
57 env
->SetLongField( obj
, fid
, (jlong
) stmt
);
62 * Class: JSqlStatement
66 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_free
67 (JNIEnv
*env
, jobject obj
)
72 cls
= env
->GetObjectClass(obj
);
73 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
76 jclass Exception
= env
->FindClass("java/lang/Exception");
77 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
80 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
86 * Class: JSqlStatement
90 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_freeStmt
91 (JNIEnv
*env
, jobject obj
)
96 cls
= env
->GetObjectClass(obj
);
97 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
100 jclass Exception
= env
->FindClass("java/lang/Exception");
101 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
104 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
111 * Class: JSqlStatement
112 * Method: setConnectionPtr
115 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setConnectionPtr
116 (JNIEnv
*env
, jobject obj
, jlong conn
)
122 cls
= env
->GetObjectClass(obj
);
123 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
126 jclass Exception
= env
->FindClass("java/lang/Exception");
127 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
130 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
131 stmt
->setConnection((AbsSqlConnection
*) conn
);
136 * Class: JSqlStatement
138 * Signature: (Ljava/lang/String;)I
140 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_prepare
141 (JNIEnv
*env
, jobject obj
, jstring stmt
)
146 cls
= env
->GetObjectClass(obj
);
147 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
150 jclass Exception
= env
->FindClass("java/lang/Exception");
151 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
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 env
->ReleaseStringUTFChars(stmt
, stmtString
);
163 * Class: JSqlStatement
167 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isSelect
168 (JNIEnv
*env
, jobject obj
)
173 cls
= env
->GetObjectClass(obj
);
174 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
177 jclass Exception
= env
->FindClass("java/lang/Exception");
178 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
181 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
182 return s
->isSelect();
186 * Class: JSqlStatement
190 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_execute
191 (JNIEnv
*env
, jobject obj
)
196 cls
= env
->GetObjectClass(obj
);
197 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
200 jclass Exception
= env
->FindClass("java/lang/Exception");
201 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
204 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
206 DbRetVal rv
= stmt
->execute(rowsAffected
);
207 if (rv
!= OK
) return -1;
212 * Class: JSqlStatement
216 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_next
217 (JNIEnv
*env
, jobject obj
)
221 cls
= env
->GetObjectClass(obj
);
222 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
225 jclass Exception
= env
->FindClass("java/lang/Exception");
226 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
229 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
230 void *tuple
= stmt
->next();
231 if (NULL
== tuple
) return 0; else return 1;
235 * Class: JSqlStatement
239 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_close
240 (JNIEnv
*env
, jobject obj
)
242 //TODO::stmt currently does not support close
245 cls
= env
->GetObjectClass(obj
);
246 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
249 jclass Exception
= env
->FindClass("java/lang/Exception");
250 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
253 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
260 * Class: JSqlStatement
264 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setBoolean
265 (JNIEnv
*env
, jobject obj
, jint position
, jint value
)
269 * Class: JSqlStatement
273 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setShort
274 (JNIEnv
*env
, jobject obj
, jint position
, jshort value
)
279 cls
= env
->GetObjectClass( obj
);
280 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
283 jclass Exception
= env
->FindClass("java/lang/Exception");
284 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
287 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
288 stmt
->setShortParam(position
, (short) value
);
293 * Class: JSqlStatement
297 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setInt
298 (JNIEnv
*env
, jobject obj
, jint position
, jint value
)
303 cls
= env
->GetObjectClass( obj
);
304 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
307 jclass Exception
= env
->FindClass("java/lang/Exception");
308 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
311 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
312 stmt
->setIntParam(position
, (int) value
);
317 * Class: JSqlStatement
321 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setLong
322 (JNIEnv
*env
, jobject obj
, jint position
, jlong value
)
327 cls
= env
->GetObjectClass( obj
);
328 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
331 jclass Exception
= env
->FindClass("java/lang/Exception");
332 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
335 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
336 stmt
->setLongLongParam(position
, (long long) value
);
341 * Class: JSqlStatement
345 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setByte
346 (JNIEnv
*env
, jobject obj
, jint position
, jbyte value
)
351 cls
= env
->GetObjectClass( obj
);
352 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
355 jclass Exception
= env
->FindClass("java/lang/Exception");
356 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
359 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
360 stmt
->setByteIntParam(position
, (ByteInt
) value
);
364 * Class: JSqlStatement
368 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setFloat
369 (JNIEnv
*env
, jobject obj
, jint position
, jfloat value
)
374 cls
= env
->GetObjectClass( obj
);
375 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
378 jclass Exception
= env
->FindClass("java/lang/Exception");
379 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
382 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
383 stmt
->setFloatParam(position
, (float) value
);
388 * Class: JSqlStatement
392 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setDouble
393 (JNIEnv
*env
, jobject obj
, jint position
, jdouble value
)
398 cls
= env
->GetObjectClass( obj
);
399 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
402 jclass Exception
= env
->FindClass("java/lang/Exception");
403 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
406 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
407 stmt
->setDoubleParam(position
, (double) value
);
412 * Class: JSqlStatement
414 * Signature: (ILjava/lang/String;)V
416 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setString
417 (JNIEnv
*env
, jobject obj
, jint position
, jstring value
)
422 cls
= env
->GetObjectClass( obj
);
423 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
426 jclass Exception
= env
->FindClass("java/lang/Exception");
427 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
431 jboolean isCopy
= JNI_TRUE
;
432 char *valueStr
= (char*) env
->GetStringUTFChars( value
, &isCopy
);
434 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
435 stmt
->setStringParam(position
, valueStr
);
436 env
->ReleaseStringUTFChars(value
, valueStr
);
441 * Class: JSqlStatement
443 * Signature: (ILjava/sql/Date;)V
445 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setDate
446 (JNIEnv
*env
, jobject obj
, jint position
, jobject dateObj
)
451 jmethodID dateMethod
;
453 cls
= env
->GetObjectClass( obj
);
454 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
457 jclass Exception
= env
->FindClass("java/lang/Exception");
458 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
461 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
463 // Get date, month, year from java object
465 datecls
= env
->GetObjectClass( dateObj
);
466 dateMethod
= env
->GetMethodID( datecls
, "getYear", "()I");
467 y
= env
->CallIntMethod( dateObj
, dateMethod
);
468 dateMethod
= env
->GetMethodID( datecls
, "getMonth", "()I");
469 m
= env
->CallIntMethod( dateObj
, dateMethod
);
470 dateMethod
= env
->GetMethodID( datecls
, "getDate", "()I");
471 d
= env
->CallIntMethod( dateObj
, dateMethod
);
473 Date
date(y
+ 1900, m
+ 1, d
);
474 stmt
->setDateParam(position
, date
);
481 * Class: JSqlStatement
483 * Signature: (ILjava/sql/Time;)V
485 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setTime
486 (JNIEnv
*env
, jobject obj
, jint position
, jobject timeObj
)
491 jmethodID timeMethod
;
493 cls
= env
->GetObjectClass( obj
);
494 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
497 jclass Exception
= env
->FindClass("java/lang/Exception");
498 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
501 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
503 // Get hour, minures, secs from java object
505 timecls
= env
->GetObjectClass( timeObj
);
506 timeMethod
= env
->GetMethodID( timecls
, "getHours", "()I");
507 h
= env
->CallIntMethod( timeObj
, timeMethod
);
508 timeMethod
= env
->GetMethodID( timecls
, "getMinutes", "()I");
509 m
= env
->CallIntMethod( timeObj
, timeMethod
);
510 timeMethod
= env
->GetMethodID( timecls
, "getSeconds", "()I");
511 s
= env
->CallIntMethod( timeObj
, timeMethod
);
513 Time
time(h
, m
, s
, 0);
514 stmt
->setTimeParam(position
, time
);
520 * Class: JSqlStatement
521 * Method: setTimestamp
522 * Signature: (ILjava/sql/Timestamp;)V
524 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setTimestamp
525 (JNIEnv
*env
, jobject obj
, jint position
, jobject timeObj
)
530 jmethodID timeMethod
;
532 cls
= env
->GetObjectClass( obj
);
533 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
536 jclass Exception
= env
->FindClass("java/lang/Exception");
537 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
540 AbsSqlStatement
*stmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
542 // Get year, month, day, hour, minutes, secs from java object
543 int y
, mo
, d
, h
, mn
, s
;
544 timecls
= env
->GetObjectClass( timeObj
);
546 timeMethod
= env
->GetMethodID( timecls
, "getYear", "()I");
547 y
= env
->CallIntMethod( timeObj
, timeMethod
);
548 timeMethod
= env
->GetMethodID( timecls
, "getMonth", "()I");
549 mo
= env
->CallIntMethod( timeObj
, timeMethod
);
550 timeMethod
= env
->GetMethodID( timecls
, "getDate", "()I");
551 d
= env
->CallIntMethod( timeObj
, timeMethod
);
552 timeMethod
= env
->GetMethodID( timecls
, "getHours", "()I");
553 h
= env
->CallIntMethod( timeObj
, timeMethod
);
554 timeMethod
= env
->GetMethodID( timecls
, "getMinutes", "()I");
555 mn
= env
->CallIntMethod( timeObj
, timeMethod
);
556 timeMethod
= env
->GetMethodID( timecls
, "getSeconds", "()I");
557 s
= env
->CallIntMethod( timeObj
, timeMethod
);
559 TimeStamp
timeStamp(y
+ 1900, mo
+ 1, d
, h
, mn
, s
, 0);
560 stmt
->setTimeStampParam(position
, timeStamp
);
566 * Class: JSqlStatement
570 JNIEXPORT jshort JNICALL Java_csql_jdbc_JSqlStatement_getShort
571 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
576 cls
= env
->GetObjectClass( obj
);
577 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
580 jclass Exception
= env
->FindClass("java/lang/Exception");
581 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
584 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
589 // Read data at column
590 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
591 if(type
== typeShort
)
592 return( * ((short*)fvp
) );
595 AllDataType::convertToShort(&val
, fvp
, (DataType
)type
);
601 * Class: JSqlStatement
605 JNIEXPORT
void JNICALL Java_csql_jdbc_JSqlStatement_setNull
606 (JNIEnv
*env
, jobject obj
, jint pos
)
611 cls
= env
->GetObjectClass(obj
);
612 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
615 jclass Exception
= env
->FindClass("java/lang/Exception");
616 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
619 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
627 * Class: csql_jdbc_JSqlStatement
631 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isNull
632 (JNIEnv
*env
, jobject obj
, jint pos
)
637 cls
= env
->GetObjectClass(obj
);
638 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
641 jclass Exception
= env
->FindClass("java/lang/Exception");
642 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
645 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
646 return s
->isFldNull(pos
);
651 * Class: csql_jdbc_JSqlStatement
653 * Signature: (Ljava/lang/String;)I
655 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_findColumn
656 (JNIEnv
*env
, jobject obj
, jstring value
)
661 cls
= env
->GetObjectClass(obj
);
662 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
665 jclass Exception
= env
->FindClass("java/lang/Exception");
666 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
670 jboolean isCopy
= JNI_TRUE
;
671 char *valueStr
= (char*) env
->GetStringUTFChars( value
, &isCopy
);
673 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
674 int val
= s
->getFldPos(valueStr
);
675 env
->ReleaseStringUTFChars(value
, valueStr
);
680 * Class: csql_jdbc_JSqlStatement
681 * Method: getParamFldName
682 * Signature: (I)Ljava/lang/String;
684 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getParamFldName
685 (JNIEnv
*env
, jobject obj
, jint pos
)
690 cls
= env
->GetObjectClass(obj
);
691 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
694 jclass Exception
= env
->FindClass("java/lang/Exception");
695 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
698 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
699 FieldInfo
*field
= new FieldInfo();
700 DbRetVal rv
= s
->getParamFldInfo(pos
,field
);
701 if(rv
!=OK
)return NULL
;
702 _jstring
*name
= env
->NewStringUTF( (char*) field
->fldName
);
703 //For free above line is written
709 * Class: csql_jdbc_JSqlStatement
710 * Method: getTotalparam
713 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getTotalparam
714 (JNIEnv
*env
, jobject obj
)
719 cls
= env
->GetObjectClass(obj
);
720 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
723 jclass Exception
= env
->FindClass("java/lang/Exception");
724 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
727 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
729 return (s
->noOfParamFields());
733 * Class: csql_jdbc_JSqlStatement
737 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getType
738 (JNIEnv
*env
, jobject obj
, jint pos
)
743 cls
= env
->GetObjectClass(obj
);
744 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
747 jclass Exception
= env
->FindClass("java/lang/Exception");
748 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
751 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
753 FieldInfo
*field
= new FieldInfo();
754 DbRetVal rv
= s
->getParamFldInfo(pos
,field
);
755 if(rv
!=OK
) { delete field
; return 100; }
756 int type
= field
->type
;
763 * Class: csql_jdbc_JSqlStatement
767 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isNullable
768 (JNIEnv
*env
, jobject obj
, jint pos
)
773 cls
= env
->GetObjectClass(obj
);
774 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
777 jclass Exception
= env
->FindClass("java/lang/Exception");
778 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
781 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
783 FieldInfo
*field
= new FieldInfo();
784 DbRetVal rv
= s
->getParamFldInfo(pos
,field
);
785 if(rv
!=OK
) { delete field
; return (-1); }
797 * Class: csql_jdbc_JSqlStatement
798 * Method: getTotalProjFld
802 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getTotalProjFld
803 (JNIEnv
*env
, jobject obj
)
808 cls
= env
->GetObjectClass(obj
);
809 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
812 jclass Exception
= env
->FindClass("java/lang/Exception");
813 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
816 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
818 return (s
->noOfProjFields());
823 * Class: csql_jdbc_JSqlStatement
824 * Method: getProjFldType
827 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getProjFldType
828 (JNIEnv
*env
, jobject obj
, jint pos
)
833 cls
= env
->GetObjectClass(obj
);
834 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
837 jclass Exception
= env
->FindClass("java/lang/Exception");
838 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
841 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
843 FieldInfo
*field
= new FieldInfo();
844 s
->getProjFldInfo(pos
,field
);
845 int type
= field
->type
;
851 * Class: csql_jdbc_JSqlStatement
852 * Method: getProjFldTypeArray
855 JNIEXPORT jintArray JNICALL Java_csql_jdbc_JSqlStatement_getProjFldTypeArray__
856 (JNIEnv
*env
, jobject obj
)
861 cls
= env
->GetObjectClass(obj
);
862 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
865 jclass Exception
= env
->FindClass("java/lang/Exception");
866 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
869 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
871 int noOfFld
= s
->noOfProjFields();
872 jintArray result
= env
->NewIntArray(noOfFld
+1);
873 jint
*resultInt
= env
->GetIntArrayElements(result
, NULL
);
874 s
->getProjFieldType((int*)resultInt
);
875 //for(int i=1; i< noOfFld+1; i++)
876 // printf("TYpe In ARRAY %d \n",resultInt[i]);
878 env
->ReleaseIntArrayElements(result
, resultInt
, 0);
883 * Class: csql_jdbc_JSqlStatement
884 * Method: isFldNullable
887 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isFldNullable
888 (JNIEnv
*env
, jobject obj
, jint pos
)
893 cls
= env
->GetObjectClass(obj
);
894 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
897 jclass Exception
= env
->FindClass("java/lang/Exception");
898 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
901 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
902 FieldInfo
*field
= new FieldInfo();
903 s
->getProjFldInfo(pos
,field
);
904 bool nul
= field
->isNull
;
911 * Class: csql_jdbc_JSqlStatement
912 * Method: getProjFldName
913 * Signature: (I)Ljava/lang/String;
915 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getProjFldName
916 (JNIEnv
*env
, jobject obj
, jint pos
)
921 cls
= env
->GetObjectClass(obj
);
922 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
925 jclass Exception
= env
->FindClass("java/lang/Exception");
926 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
927 return( (jstring
) 0 );
929 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
930 FieldInfo
*field
= new FieldInfo();
931 s
->getProjFldInfo(pos
,field
);
932 _jstring
*name
= env
->NewStringUTF( (char*) field
->fldName
);
939 * Class: csql_jdbc_JSqlStatement
940 * Method: getTableName
941 * Signature: ()Ljava/lang/String;
943 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getTableName
944 (JNIEnv
*env
, jobject obj
)
949 cls
= env
->GetObjectClass(obj
);
950 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
953 jclass Exception
= env
->FindClass("java/lang/Exception");
954 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
955 return( (jstring
) 0 );
957 AbsSqlStatement
*s
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
966 * Class: JSqlStatement
970 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getInt
971 (JNIEnv
*env
, jobject obj
, jint pos
,jint type
)
976 cls
= env
->GetObjectClass( obj
);
977 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
980 jclass Exception
= env
->FindClass("java/lang/Exception");
981 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
984 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
988 // Read data at column
989 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
991 return( * ((int*)fvp
) );
994 AllDataType::convertToInt(&val
, fvp
, (DataType
)type
);
1000 * Class: csql_jdbc_JSqlStatement
1002 * Signature: (Ljava/lang/String;)I
1004 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getIntS
1005 (JNIEnv
*env
, jobject obj
, jstring name
)
1010 cls
= env
->GetObjectClass( obj
);
1011 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1014 jclass Exception
= env
->FindClass("java/lang/Exception");
1015 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1018 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1019 jboolean isCopy
= JNI_TRUE
;
1020 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1021 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1022 env
->ReleaseStringUTFChars(name
, valueStr
);
1023 return( * ((int*)fvp
) );
1027 * Class: csql_jdbc_JSqlStatement
1029 * Signature: (Ljava/lang/String;)S
1031 JNIEXPORT jshort JNICALL Java_csql_jdbc_JSqlStatement_getShortS
1032 (JNIEnv
*env
, jobject obj
, jstring name
)
1037 cls
= env
->GetObjectClass( obj
);
1038 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1041 jclass Exception
= env
->FindClass("java/lang/Exception");
1042 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1045 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1046 jboolean isCopy
= JNI_TRUE
;
1047 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1048 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1049 env
->ReleaseStringUTFChars(name
, valueStr
);
1050 return( * ((short*)fvp
) );
1055 * Class: csql_jdbc_JSqlStatement
1057 * Signature: (Ljava/lang/String;)J
1059 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_getLongS
1060 (JNIEnv
*env
, jobject obj
, jstring name
)
1065 cls
= env
->GetObjectClass( obj
);
1066 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1069 jclass Exception
= env
->FindClass("java/lang/Exception");
1070 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1073 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1074 jboolean isCopy
= JNI_TRUE
;
1075 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1076 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1077 env
->ReleaseStringUTFChars(name
, valueStr
);
1078 return( * ((long*)fvp
) );
1082 * Class: csql_jdbc_JSqlStatement
1084 * Signature: (Ljava/lang/String;)B
1086 JNIEXPORT jbyte JNICALL Java_csql_jdbc_JSqlStatement_getByteS
1087 (JNIEnv
*env
, jobject obj
, jstring name
)
1092 cls
= env
->GetObjectClass( obj
);
1093 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1096 jclass Exception
= env
->FindClass("java/lang/Exception");
1097 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1100 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1101 jboolean isCopy
= JNI_TRUE
;
1102 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1103 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1104 env
->ReleaseStringUTFChars(name
, valueStr
);
1105 return( * ((char*)fvp
) );
1109 * Class: csql_jdbc_JSqlStatement
1111 * Signature: (Ljava/lang/String;)F
1113 JNIEXPORT jfloat JNICALL Java_csql_jdbc_JSqlStatement_getFloatS
1114 (JNIEnv
*env
, jobject obj
, jstring name
)
1119 cls
= env
->GetObjectClass( obj
);
1120 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1123 jclass Exception
= env
->FindClass("java/lang/Exception");
1124 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1127 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1128 jboolean isCopy
= JNI_TRUE
;
1129 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1130 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1131 env
->ReleaseStringUTFChars(name
, valueStr
);
1132 return( * ((float*)fvp
) );
1137 * Class: csql_jdbc_JSqlStatement
1138 * Method: getDoubleS
1139 * Signature: (Ljava/lang/String;)D
1141 JNIEXPORT jdouble JNICALL Java_csql_jdbc_JSqlStatement_getDoubleS
1142 (JNIEnv
*env
, jobject obj
, jstring name
)
1147 cls
= env
->GetObjectClass( obj
);
1148 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1151 jclass Exception
= env
->FindClass("java/lang/Exception");
1152 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1155 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1156 jboolean isCopy
= JNI_TRUE
;
1157 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1158 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1159 env
->ReleaseStringUTFChars(name
, valueStr
);
1160 return( * ((double*)fvp
) );
1164 * Class: csql_jdbc_JSqlStatement
1165 * Method: getStringS
1166 * Signature: (Ljava/lang/String;)Ljava/lang/String;
1168 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getStringS
1169 (JNIEnv
*env
, jobject obj
, jstring name
)
1174 cls
= env
->GetObjectClass( obj
);
1175 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1178 jclass Exception
= env
->FindClass("java/lang/Exception");
1179 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1180 return( (jstring
) 0 );
1182 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1183 jboolean isCopy
= JNI_TRUE
;
1184 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1185 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1186 env
->ReleaseStringUTFChars(name
, valueStr
);
1187 return( env
->NewStringUTF( (char*) fvp
) );
1193 * Class: csql_jdbc_JSqlStatement
1195 * Signature: (Ljava/lang/String;)Ljava/sql/Date;
1197 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getDateS
1198 (JNIEnv
*env
, jobject obj
, jstring name
)
1203 cls
= env
->GetObjectClass( obj
);
1204 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1207 jclass Exception
= env
->FindClass("java/lang/Exception");
1208 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1209 return((jobject
) 0);
1211 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1212 jboolean isCopy
= JNI_TRUE
;
1213 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1214 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1215 env
->ReleaseStringUTFChars(name
, valueStr
);
1217 jclass cDate
= env
->FindClass("java/sql/Date");
1218 jmethodID methodID
= env
->GetMethodID( cDate
, "<init>", "(III)V" );
1221 Date
*dt
= (Date
*) fvp
;
1222 dateObj
= env
->NewObject( cDate
, methodID
,
1223 (jint
) dt
->year()-1900, (jint
) dt
->month() - 1,
1224 (jint
) dt
->dayOfMonth() );
1232 * Class: csql_jdbc_JSqlStatement
1234 * Signature: (Ljava/lang/String;)Ljava/sql/Time;
1236 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTimeS
1237 (JNIEnv
*env
, jobject obj
, jstring name
)
1242 cls
= env
->GetObjectClass( obj
);
1243 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1246 jclass Exception
= env
->FindClass("java/lang/Exception");
1247 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1248 return((jobject
) 0);
1250 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1251 jboolean isCopy
= JNI_TRUE
;
1252 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1253 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1254 env
->ReleaseStringUTFChars(name
, valueStr
);
1255 jclass cTime
= env
->FindClass("java/sql/Time");
1256 jmethodID methodID
= env
->GetMethodID( cTime
, "<init>", "(III)V" );
1259 Time
*tm
= (Time
*) fvp
;
1260 timeObj
= env
->NewObject( cTime
, methodID
,
1261 (jint
) tm
->hours(), (jint
) tm
->minutes(),
1262 (jint
) tm
->seconds() );
1269 * Class: csql_jdbc_JSqlStatement
1270 * Method: getTimestampS
1271 * Signature: (Ljava/lang/String;)Ljava/sql/Timestamp;
1273 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTimestampS
1274 (JNIEnv
*env
, jobject obj
, jstring name
)
1279 cls
= env
->GetObjectClass( obj
);
1280 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1283 jclass Exception
= env
->FindClass("java/lang/Exception");
1284 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1285 return(((jobject
) 0));
1287 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1288 jboolean isCopy
= JNI_TRUE
;
1289 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1290 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1291 env
->ReleaseStringUTFChars(name
, valueStr
);
1292 jclass cTimestamp
= env
->FindClass("java/sql/Timestamp");
1293 jmethodID methodID
= env
->GetMethodID( cTimestamp
, "<init>", "(IIIIIII)V" );
1296 TimeStamp
*ts
= (TimeStamp
*) fvp
;
1297 timeObj
= env
->NewObject( cTimestamp
, methodID
, \
1298 (jint
) ts
->year()-1900, (jint
) ts
->month() - 1, (jint
) ts
->dayOfMonth(), \
1299 (jint
) ts
->hours(), (jint
) ts
->minutes(), (jint
) ts
->seconds(), (jint
) 0 );
1306 * Class: csql_jdbc_JSqlStatement
1307 * Method: getBooleanS
1308 * Signature: (Ljava/lang/String;)Z
1310 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_getBooleanS
1311 (JNIEnv
*env
, jobject obj
, jstring name
)
1316 cls
= env
->GetObjectClass( obj
);
1317 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1320 jclass Exception
= env
->FindClass("java/lang/Exception");
1321 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1324 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1325 jboolean isCopy
= JNI_TRUE
;
1326 char *valueStr
= (char*) env
->GetStringUTFChars( name
, &isCopy
);
1327 void *fvp
= sqlStmt
->getFieldValuePtr( valueStr
);
1328 env
->ReleaseStringUTFChars(name
, valueStr
);
1329 if(*(int*)fvp
) return true;
1334 * Class: JSqlStatement
1338 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_getLong
1339 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1344 cls
= env
->GetObjectClass( obj
);
1345 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1348 jclass Exception
= env
->FindClass("java/lang/Exception");
1349 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1352 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1355 // Handle conversion
1357 // Read data at column
1358 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1359 if(type
== typeLong
|| type
== typeLongLong
)
1360 return( * ((long*)fvp
) );
1363 AllDataType::convertToLong(&val
, fvp
, (DataType
)type
);
1369 * Class: JSqlStatement
1373 JNIEXPORT jbyte JNICALL Java_csql_jdbc_JSqlStatement_getByte
1374 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1379 cls
= env
->GetObjectClass( obj
);
1380 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1383 jclass Exception
= env
->FindClass("java/lang/Exception");
1384 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1387 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1390 // Handle conversion
1392 // Read data at column
1393 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1394 if(type
== typeByteInt
)
1395 return( * ((char*)fvp
) );
1398 AllDataType::convertToByteInt(&val
, fvp
, (DataType
)type
);
1404 * Class: JSqlStatement
1408 JNIEXPORT jfloat JNICALL Java_csql_jdbc_JSqlStatement_getFloat
1409 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1414 cls
= env
->GetObjectClass( obj
);
1415 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1418 jclass Exception
= env
->FindClass("java/lang/Exception");
1419 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1422 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1425 // Handle conversion
1427 // Read data at column
1428 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1429 if(type
== typeFloat
)
1430 return( * ((float*)fvp
) );
1433 AllDataType::convertToFloat(&val
, fvp
, (DataType
)type
);
1440 * Class: JSqlStatement
1444 JNIEXPORT jdouble JNICALL Java_csql_jdbc_JSqlStatement_getDouble
1445 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1450 cls
= env
->GetObjectClass( obj
);
1451 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1454 jclass Exception
= env
->FindClass("java/lang/Exception");
1455 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1458 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1461 // Handle conversion
1463 // Read data at column
1464 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1465 if(type
== typeDouble
)
1466 return( * ((double*)fvp
) );
1469 AllDataType::convertToDouble(&val
, fvp
, (DataType
)type
);
1476 * Class: JSqlStatement
1478 * Signature: (I)Ljava/lang/String;
1480 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getString
1481 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1486 cls
= env
->GetObjectClass( obj
);
1487 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1490 jclass Exception
= env
->FindClass("java/lang/Exception");
1491 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1492 return( (jstring
) 0 );
1494 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1497 // Handle conversion
1499 // Read data at column
1500 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1501 if(type
== typeString
)
1502 return( env
->NewStringUTF( (char*) fvp
) );
1504 char value
[IDENTIFIER_LENGTH
];
1505 AllDataType::convertToString(value
, fvp
, (DataType
) type
);
1506 return( env
->NewStringUTF( value
));
1511 * Class: JSqlStatement
1515 JNIEXPORT jbyteArray JNICALL Java_csql_jdbc_JSqlStatement_getBytes
1516 (JNIEnv
*, jobject
, jint
);
1519 * Class: JSqlStatement
1521 * Signature: (I)Ljava/sql/Date;
1523 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getDate
1524 (JNIEnv
*env
, jobject obj
, jint pos
,jint type
)
1529 cls
= env
->GetObjectClass( obj
);
1530 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1533 jclass Exception
= env
->FindClass("java/lang/Exception");
1534 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1535 return( (jobject
) 0 );
1537 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1540 // Handle conversion
1542 // Read data at column
1543 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1545 jclass cDate
= env
->FindClass("java/sql/Date");
1546 jmethodID methodID
= env
->GetMethodID( cDate
, "<init>", "(III)V" );
1548 if(type
== typeDate
){
1549 Date
*dt
= (Date
*) fvp
;
1550 dateObj
= env
->NewObject( cDate
, methodID
,
1551 (jint
) dt
->year()-1900, (jint
) dt
->month() - 1,
1552 (jint
) dt
->dayOfMonth() );
1556 AllDataType::convertToDate(&value
, fvp
, (DataType
) type
);
1557 dateObj
= env
->NewObject( cDate
, methodID
,
1558 (jint
) value
.year()-1900, (jint
) value
.month() - 1,
1559 (jint
) value
.dayOfMonth() );
1566 * Class: JSqlStatement
1568 * Signature: (I)Ljava/sql/Time;
1570 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTime
1571 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1576 cls
= env
->GetObjectClass( obj
);
1577 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1580 jclass Exception
= env
->FindClass("java/lang/Exception");
1581 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1582 return( (jobject
) 0 );
1584 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1587 // Handle conversion
1589 // Read data at column
1590 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1592 // Create Java Object
1593 jclass cTime
= env
->FindClass("java/sql/Time");
1594 jmethodID methodID
= env
->GetMethodID( cTime
, "<init>", "(III)V" );
1596 if(type
== typeTime
){
1597 Time
*tm
= (Time
*) fvp
;
1598 timeObj
= env
->NewObject( cTime
, methodID
,
1599 (jint
) tm
->hours(), (jint
) tm
->minutes(),
1600 (jint
) tm
->seconds() );
1604 AllDataType::convertToDate(&value
, fvp
, (DataType
) type
);
1605 timeObj
= env
->NewObject( cTime
, methodID
,
1606 (jint
) value
.hours(), (jint
) value
.minutes(),
1607 (jint
) value
.seconds() );
1614 * Class: JSqlStatement
1615 * Method: getTimestamp
1616 * Signature: (I)Ljava/sql/Timestamp;
1618 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTimestamp
1619 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1624 cls
= env
->GetObjectClass( obj
);
1625 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1628 jclass Exception
= env
->FindClass("java/lang/Exception");
1629 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1630 return( (jobject
) 0 );
1632 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1635 // Handle conversion
1637 // Read data at column
1638 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1640 // Create Java Object
1641 jclass cTimestamp
= env
->FindClass("java/sql/Timestamp");
1642 jmethodID methodID
= env
->GetMethodID( cTimestamp
, "<init>", "(IIIIIII)V" );
1644 if(type
== typeTimeStamp
){
1645 TimeStamp
*ts
= (TimeStamp
*) fvp
;
1646 timeObj
= env
->NewObject( cTimestamp
, methodID
, \
1647 (jint
) ts
->year()-1900, (jint
) ts
->month() - 1, (jint
) ts
->dayOfMonth(), \
1648 (jint
) ts
->hours(), (jint
) ts
->minutes(), (jint
) ts
->seconds(), (jint
) 0 );
1652 AllDataType::convertToDate(&value
, fvp
, (DataType
) type
);
1653 timeObj
= env
->NewObject( cTimestamp
, methodID
, \
1654 (jint
) value
.year()-1900, (jint
) value
.month() - 1, (jint
) value
.dayOfMonth(), \
1655 (jint
) value
.hours(), (jint
) value
.minutes(), (jint
) value
.seconds(), (jint
) 0 );
1662 * Class: JSqlStatement
1663 * Method: getBoolean
1666 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_getBoolean
1667 (JNIEnv
*env
, jobject obj
, jint pos
, jint type
)
1672 cls
= env
->GetObjectClass( obj
);
1673 fid
= env
->GetFieldID( cls
, "sqlStmtPtr", "J");
1676 jclass Exception
= env
->FindClass("java/lang/Exception");
1677 env
->ThrowNew(Exception
,"JNI: GetFieldID failed.\n");
1680 AbsSqlStatement
*sqlStmt
= (AbsSqlStatement
*) env
->GetLongField( obj
, fid
);
1681 void *fvp
= sqlStmt
->getFieldValuePtr( pos
);
1682 if(*(int*)fvp
) return true;