reverting back to version 1.12
[csql.git] / src / jdbc / JSqlStatement.cxx
blob3f18b2eb58ac36951bc7a114261ed8964ab4a160
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 if (mode ==1 )
27 stmt = SqlFactory::createStatement(CSql);
28 else if(mode == 2)
29 stmt = SqlFactory::createStatement(CSqlGateway);
30 else {
31 stmt = new SqlNwStatement();
32 stmt->setInnerStatement(NULL);
35 cls = env->GetObjectClass( obj );
36 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
37 if (fid == 0)
39 jclass Exception = env->FindClass("java/lang/Exception");
40 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
41 return;
43 env->SetLongField( obj, fid, (jlong) stmt );
44 return;
48 * Class: JSqlStatement
49 * Method: free
50 * Signature: ()V
52 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_free
53 (JNIEnv *env, jobject obj)
55 jclass cls;
56 jfieldID fid;
58 cls = env->GetObjectClass(obj);
59 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
60 if (fid == 0)
62 jclass Exception = env->FindClass("java/lang/Exception");
63 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
64 return;
66 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
67 delete stmt;
68 return;
72 * Class: JSqlStatement
73 * Method: freeStmt
74 * Signature: ()V
76 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_freeStmt
77 (JNIEnv *env, jobject obj)
79 jclass cls;
80 jfieldID fid;
82 cls = env->GetObjectClass(obj);
83 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
84 if (fid == 0)
86 jclass Exception = env->FindClass("java/lang/Exception");
87 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
88 return;
90 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid);
91 stmt->free();
92 return;
97 * Class: JSqlStatement
98 * Method: setConnectionPtr
99 * Signature: (J)V
101 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setConnectionPtr
102 (JNIEnv *env, jobject obj, jlong conn)
105 jclass cls;
106 jfieldID fid;
108 cls = env->GetObjectClass(obj);
109 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
110 if (fid == 0)
112 jclass Exception = env->FindClass("java/lang/Exception");
113 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
114 return;
116 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid);
117 stmt->setConnection((AbsSqlConnection*) conn);
118 return;
122 * Class: JSqlStatement
123 * Method: prepare
124 * Signature: (Ljava/lang/String;)I
126 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_prepare
127 (JNIEnv *env, jobject obj, jstring stmt)
129 jclass cls;
130 jfieldID fid;
132 cls = env->GetObjectClass(obj);
133 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
134 if (fid == 0)
136 jclass Exception = env->FindClass("java/lang/Exception");
137 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
138 return(-1);
140 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
141 jboolean isCopy = JNI_TRUE;
142 char *stmtString = (char*) env->GetStringUTFChars(stmt, &isCopy );
143 int rv = s->prepare(stmtString);
144 return rv;
148 * Class: JSqlStatement
149 * Method: isSelect
150 * Signature: ()Z
152 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isSelect
153 (JNIEnv *env, jobject obj)
155 jclass cls;
156 jfieldID fid;
158 cls = env->GetObjectClass(obj);
159 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
160 if (fid == 0)
162 jclass Exception = env->FindClass("java/lang/Exception");
163 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
164 return(-1);
166 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
167 return s->isSelect();
171 * Class: JSqlStatement
172 * Method: execute
173 * Signature: ()I
175 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_execute
176 (JNIEnv *env, jobject obj)
178 jclass cls;
179 jfieldID fid;
181 cls = env->GetObjectClass(obj);
182 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
183 if (fid == 0)
185 jclass Exception = env->FindClass("java/lang/Exception");
186 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
187 return(-1);
189 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
190 int rowsAffected =0;
191 DbRetVal rv = stmt->execute(rowsAffected);
192 if (rv != OK) return -1;
193 return rowsAffected;
197 * Class: JSqlStatement
198 * Method: next
199 * Signature: ()J
201 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_next
202 (JNIEnv *env, jobject obj)
204 jclass cls;
205 jfieldID fid;
206 cls = env->GetObjectClass(obj);
207 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
208 if (fid == 0)
210 jclass Exception = env->FindClass("java/lang/Exception");
211 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
212 return(-1);
214 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
215 void *tuple = stmt->next();
216 if (NULL == tuple) return 0; else return 1;
220 * Class: JSqlStatement
221 * Method: close
222 * Signature: ()J
224 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_close
225 (JNIEnv *env, jobject obj)
227 //TODO::stmt currently does not support close
228 jclass cls;
229 jfieldID fid;
230 cls = env->GetObjectClass(obj);
231 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
232 if (fid == 0)
234 jclass Exception = env->FindClass("java/lang/Exception");
235 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
236 return(-1);
238 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
239 int rv =0;
240 rv = stmt->close();
241 return rv;
245 * Class: JSqlStatement
246 * Method: setBoolean
247 * Signature: (I)Z
249 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setBoolean
250 (JNIEnv *env, jobject obj, jint position, jint value)
254 * Class: JSqlStatement
255 * Method: setShort
256 * Signature: (IS)V
258 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setShort
259 (JNIEnv *env, jobject obj, jint position, jshort value)
261 jclass cls;
262 jfieldID fid;
264 cls = env->GetObjectClass( obj );
265 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
266 if (fid == 0)
268 jclass Exception = env->FindClass("java/lang/Exception");
269 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
270 return;
272 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
273 stmt->setShortParam(position, (short) value);
274 return;
278 * Class: JSqlStatement
279 * Method: setInt
280 * Signature: (II)V
282 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setInt
283 (JNIEnv *env, jobject obj, jint position, jint value)
285 jclass cls;
286 jfieldID fid;
288 cls = env->GetObjectClass( obj );
289 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
290 if (fid == 0)
292 jclass Exception = env->FindClass("java/lang/Exception");
293 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
294 return;
296 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
297 stmt->setIntParam(position, (int) value);
298 return;
302 * Class: JSqlStatement
303 * Method: setLong
304 * Signature: (IJ)V
306 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setLong
307 (JNIEnv *env, jobject obj, jint position, jlong value)
309 jclass cls;
310 jfieldID fid;
312 cls = env->GetObjectClass( obj );
313 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
314 if (fid == 0)
316 jclass Exception = env->FindClass("java/lang/Exception");
317 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
318 return;
320 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
321 stmt->setLongLongParam(position, (long long) value);
322 return;
326 * Class: JSqlStatement
327 * Method: setByte
328 * Signature: (IB)V
330 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setByte
331 (JNIEnv *env, jobject obj, jint position, jbyte value)
333 jclass cls;
334 jfieldID fid;
336 cls = env->GetObjectClass( obj );
337 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
338 if (fid == 0)
340 jclass Exception = env->FindClass("java/lang/Exception");
341 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
342 return;
344 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
345 stmt->setByteIntParam(position, (ByteInt) value);
346 return;
349 * Class: JSqlStatement
350 * Method: setFloat
351 * Signature: (IF)V
353 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setFloat
354 (JNIEnv *env, jobject obj, jint position, jfloat value)
356 jclass cls;
357 jfieldID fid;
359 cls = env->GetObjectClass( obj );
360 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
361 if (fid == 0)
363 jclass Exception = env->FindClass("java/lang/Exception");
364 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
365 return;
367 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
368 stmt->setFloatParam(position, (float) value);
369 return;
373 * Class: JSqlStatement
374 * Method: setDouble
375 * Signature: (ID)V
377 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setDouble
378 (JNIEnv *env, jobject obj, jint position, jdouble value)
380 jclass cls;
381 jfieldID fid;
383 cls = env->GetObjectClass( obj );
384 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
385 if (fid == 0)
387 jclass Exception = env->FindClass("java/lang/Exception");
388 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
389 return;
391 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
392 stmt->setDoubleParam(position, (double) value);
393 return;
397 * Class: JSqlStatement
398 * Method: setString
399 * Signature: (ILjava/lang/String;)V
401 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setString
402 (JNIEnv *env, jobject obj, jint position, jstring value)
404 jclass cls;
405 jfieldID fid;
407 cls = env->GetObjectClass( obj );
408 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
409 if (fid == 0)
411 jclass Exception = env->FindClass("java/lang/Exception");
412 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
413 return;
416 jboolean isCopy = JNI_TRUE;
417 char *valueStr = (char*) env->GetStringUTFChars( value, &isCopy );
419 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
420 stmt->setStringParam(position, valueStr);
421 return;
425 * Class: JSqlStatement
426 * Method: setDate
427 * Signature: (ILjava/sql/Date;)V
429 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setDate
430 (JNIEnv *env, jobject obj, jint position, jobject dateObj)
433 jclass cls, datecls;
434 jfieldID fid;
435 jmethodID dateMethod;
437 cls = env->GetObjectClass( obj );
438 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
439 if (fid == 0)
441 jclass Exception = env->FindClass("java/lang/Exception");
442 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
443 return;
445 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
447 // Get date, month, year from java object
448 int d, m, y;
449 datecls = env->GetObjectClass( dateObj );
450 dateMethod = env->GetMethodID( datecls, "getYear", "()I");
451 y = env->CallIntMethod( dateObj, dateMethod);
452 dateMethod = env->GetMethodID( datecls, "getMonth", "()I");
453 m = env->CallIntMethod( dateObj, dateMethod);
454 dateMethod = env->GetMethodID( datecls, "getDate", "()I");
455 d = env->CallIntMethod( dateObj, dateMethod);
457 Date date(y + 1900, m + 1, d);
458 stmt->setDateParam(position, date);
460 return;
465 * Class: JSqlStatement
466 * Method: setTime
467 * Signature: (ILjava/sql/Time;)V
469 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setTime
470 (JNIEnv *env, jobject obj, jint position, jobject timeObj)
473 jclass cls, timecls;
474 jfieldID fid;
475 jmethodID timeMethod;
477 cls = env->GetObjectClass( obj );
478 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
479 if (fid == 0)
481 jclass Exception = env->FindClass("java/lang/Exception");
482 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
483 return;
485 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
487 // Get hour, minures, secs from java object
488 int h, m, s;
489 timecls = env->GetObjectClass( timeObj );
490 timeMethod = env->GetMethodID( timecls, "getHours", "()I");
491 h = env->CallIntMethod( timeObj, timeMethod);
492 timeMethod = env->GetMethodID( timecls, "getMinutes", "()I");
493 m = env->CallIntMethod( timeObj, timeMethod);
494 timeMethod = env->GetMethodID( timecls, "getSeconds", "()I");
495 s = env->CallIntMethod( timeObj, timeMethod);
497 Time time(h, m, s, 0);
498 stmt->setTimeParam(position, time);
500 return;
504 * Class: JSqlStatement
505 * Method: setTimestamp
506 * Signature: (ILjava/sql/Timestamp;)V
508 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setTimestamp
509 (JNIEnv *env, jobject obj, jint position, jobject timeObj)
512 jclass cls, timecls;
513 jfieldID fid;
514 jmethodID timeMethod;
516 cls = env->GetObjectClass( obj );
517 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
518 if (fid == 0)
520 jclass Exception = env->FindClass("java/lang/Exception");
521 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
522 return;
524 AbsSqlStatement *stmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
526 // Get year, month, day, hour, minutes, secs from java object
527 int y, mo, d, h, mn, s;
528 timecls = env->GetObjectClass( timeObj );
530 timeMethod = env->GetMethodID( timecls, "getYear", "()I");
531 y = env->CallIntMethod( timeObj, timeMethod );
532 timeMethod = env->GetMethodID( timecls, "getMonth", "()I");
533 mo = env->CallIntMethod( timeObj, timeMethod );
534 timeMethod = env->GetMethodID( timecls, "getDate", "()I");
535 d = env->CallIntMethod( timeObj, timeMethod );
536 timeMethod = env->GetMethodID( timecls, "getHours", "()I");
537 h = env->CallIntMethod( timeObj, timeMethod);
538 timeMethod = env->GetMethodID( timecls, "getMinutes", "()I");
539 mn = env->CallIntMethod( timeObj, timeMethod);
540 timeMethod = env->GetMethodID( timecls, "getSeconds", "()I");
541 s = env->CallIntMethod( timeObj, timeMethod);
543 TimeStamp timeStamp(y + 1900, mo + 1, d, h, mn, s, 0);
544 stmt->setTimeStampParam(position, timeStamp);
546 return;
550 * Class: JSqlStatement
551 * Method: getShort
552 * Signature: (I)S
554 JNIEXPORT jshort JNICALL Java_csql_jdbc_JSqlStatement_getShort
555 (JNIEnv *env, jobject obj, jint pos)
557 jclass cls;
558 jfieldID fid;
560 cls = env->GetObjectClass( obj );
561 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
562 if (fid == 0)
564 jclass Exception = env->FindClass("java/lang/Exception");
565 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
566 return(-1);
568 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
570 // Validate pos
571 // Handle conversion
573 // Read data at column
574 void *fvp = sqlStmt->getFieldValuePtr( pos );
575 return( * ((short*)fvp) );
579 * Class: JSqlStatement
580 * Method: setNull
581 * Signature: (I)V
583 JNIEXPORT void JNICALL Java_csql_jdbc_JSqlStatement_setNull
584 (JNIEnv *env, jobject obj, jint pos)
586 jclass cls;
587 jfieldID fid;
589 cls = env->GetObjectClass(obj);
590 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
591 if (fid == 0)
593 jclass Exception = env->FindClass("java/lang/Exception");
594 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
595 return;
597 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
598 s->setNull(pos);
599 return;
605 * Class: csql_jdbc_JSqlStatement
606 * Method: isNull
607 * Signature: (I)Z
609 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isNull
610 (JNIEnv *env, jobject obj, jint pos)
612 jclass cls;
613 jfieldID fid;
615 cls = env->GetObjectClass(obj);
616 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
617 if (fid == 0)
619 jclass Exception = env->FindClass("java/lang/Exception");
620 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
621 return(-1);
623 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
624 return s->isFldNull(pos);
629 * Class: csql_jdbc_JSqlStatement
630 * Method: findColumn
631 * Signature: (Ljava/lang/String;)I
633 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_findColumn
634 (JNIEnv *env, jobject obj, jstring value)
636 jclass cls;
637 jfieldID fid;
639 cls = env->GetObjectClass(obj);
640 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
641 if (fid == 0)
643 jclass Exception = env->FindClass("java/lang/Exception");
644 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
645 return(-1);
648 jboolean isCopy = JNI_TRUE;
649 char *valueStr = (char*) env->GetStringUTFChars( value, &isCopy );
651 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
652 return s->getFldPos(valueStr);
656 * Class: csql_jdbc_JSqlStatement
657 * Method: getParamFldName
658 * Signature: (I)Ljava/lang/String;
660 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getParamFldName
661 (JNIEnv *env, jobject obj, jint pos)
663 jclass cls;
664 jfieldID fid;
666 cls = env->GetObjectClass(obj);
667 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
668 if (fid == 0)
670 jclass Exception = env->FindClass("java/lang/Exception");
671 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
672 return((jstring) 0);
674 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
675 FieldInfo *field = new FieldInfo();
676 DbRetVal rv = s->getParamFldInfo(pos,field);
677 if(rv!=OK)return NULL;
678 return( env->NewStringUTF( (char*) field->fldName ) );
682 * Class: csql_jdbc_JSqlStatement
683 * Method: getTotalparam
684 * Signature: ()I
686 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getTotalparam
687 (JNIEnv *env, jobject obj)
689 jclass cls;
690 jfieldID fid;
692 cls = env->GetObjectClass(obj);
693 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
694 if (fid == 0)
696 jclass Exception = env->FindClass("java/lang/Exception");
697 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
698 return(-1);
700 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
702 return (s->noOfParamFields());
706 * Class: csql_jdbc_JSqlStatement
707 * Method: getType
708 * Signature: (I)I
710 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getType
711 (JNIEnv *env, jobject obj, jint pos)
713 jclass cls;
714 jfieldID fid;
716 cls = env->GetObjectClass(obj);
717 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
718 if (fid == 0)
720 jclass Exception = env->FindClass("java/lang/Exception");
721 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
722 return(-1);
724 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
726 FieldInfo *field = new FieldInfo();
727 DbRetVal rv = s->getParamFldInfo(pos,field);
728 if(rv!=OK)return 100;
729 return(field->type );
734 * Class: csql_jdbc_JSqlStatement
735 * Method: isNullable
736 * Signature: (I)Z
738 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isNullable
739 (JNIEnv *env, jobject obj, jint pos)
741 jclass cls;
742 jfieldID fid;
744 cls = env->GetObjectClass(obj);
745 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
746 if (fid == 0)
748 jclass Exception = env->FindClass("java/lang/Exception");
749 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
750 return(-1);
752 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
754 FieldInfo *field = new FieldInfo();
755 DbRetVal rv = s->getParamFldInfo(pos,field);
756 if(rv!=OK)return (-1);
757 if(field->isNull){
758 delete field;
759 return true;
760 }else{
761 delete field;
762 return false;
768 * Class: csql_jdbc_JSqlStatement
769 * Method: getTotalProjFld
770 * Signature: ()I
773 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getTotalProjFld
774 (JNIEnv *env, jobject obj)
776 jclass cls;
777 jfieldID fid;
779 cls = env->GetObjectClass(obj);
780 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
781 if (fid == 0)
783 jclass Exception = env->FindClass("java/lang/Exception");
784 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
785 return(-1);
787 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
789 return (s->noOfProjFields());
794 * Class: csql_jdbc_JSqlStatement
795 * Method: getProjFldType
796 * Signature: (I)I
798 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getProjFldType
799 (JNIEnv *env, jobject obj, jint pos)
801 jclass cls;
802 jfieldID fid;
804 cls = env->GetObjectClass(obj);
805 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
806 if (fid == 0)
808 jclass Exception = env->FindClass("java/lang/Exception");
809 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
810 return(-1);
812 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
814 FieldInfo *field = new FieldInfo();
815 s->getProjFldInfo(pos,field);
816 int type = field->type;
817 delete field;
819 return type;
824 * Class: csql_jdbc_JSqlStatement
825 * Method: isFldNullable
826 * Signature: (I)Z
828 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_isFldNullable
829 (JNIEnv *env, jobject obj, jint pos)
831 jclass cls;
832 jfieldID fid;
834 cls = env->GetObjectClass(obj);
835 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
836 if (fid == 0)
838 jclass Exception = env->FindClass("java/lang/Exception");
839 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
840 return(-1);
842 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
843 FieldInfo *field = new FieldInfo();
844 s->getProjFldInfo(pos,field);
845 bool nul = field->isNull;
846 delete field;
848 return nul;
853 * Class: csql_jdbc_JSqlStatement
854 * Method: getProjFldName
855 * Signature: (I)Ljava/lang/String;
857 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getProjFldName
858 (JNIEnv *env, jobject obj, jint pos)
860 jclass cls;
861 jfieldID fid;
863 cls = env->GetObjectClass(obj);
864 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
865 if (fid == 0)
867 jclass Exception = env->FindClass("java/lang/Exception");
868 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
869 return( (jstring) 0 );
871 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
872 FieldInfo *field = new FieldInfo();
873 s->getProjFldInfo(pos,field);
874 //delete field;
875 return ( env->NewStringUTF( (char*) field->fldName ));
880 * Class: csql_jdbc_JSqlStatement
881 * Method: getTableName
882 * Signature: ()Ljava/lang/String;
884 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getTableName
885 (JNIEnv *env, jobject obj)
887 jclass cls;
888 jfieldID fid;
890 cls = env->GetObjectClass(obj);
891 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
892 if (fid == 0)
894 jclass Exception = env->FindClass("java/lang/Exception");
895 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
896 return( (jstring) 0 );
898 AbsSqlStatement *s = (AbsSqlStatement*) env->GetLongField( obj, fid );
901 return NULL;
907 * Class: JSqlStatement
908 * Method: getInt
909 * Signature: (I)I
911 JNIEXPORT jint JNICALL Java_csql_jdbc_JSqlStatement_getInt
912 (JNIEnv *env, jobject obj, jint pos)
914 jclass cls;
915 jfieldID fid;
917 cls = env->GetObjectClass( obj );
918 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
919 if (fid == 0)
921 jclass Exception = env->FindClass("java/lang/Exception");
922 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
923 return(-1);
925 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
927 // Validate pos
928 // Handle conversion
930 // Read data at column
931 void *fvp = sqlStmt->getFieldValuePtr( pos );
932 return( * ((int*)fvp) );
936 * Class: JSqlStatement
937 * Method: getLong
938 * Signature: (I)J
940 JNIEXPORT jlong JNICALL Java_csql_jdbc_JSqlStatement_getLong
941 (JNIEnv *env, jobject obj, jint pos)
943 jclass cls;
944 jfieldID fid;
946 cls = env->GetObjectClass( obj );
947 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
948 if (fid == 0)
950 jclass Exception = env->FindClass("java/lang/Exception");
951 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
952 return(-1);
954 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
956 // Validate pos
957 // Handle conversion
959 // Read data at column
960 void *fvp = sqlStmt->getFieldValuePtr( pos );
961 return( * ((long*)fvp) );
965 * Class: JSqlStatement
966 * Method: getByte
967 * Signature: (I)B
969 JNIEXPORT jbyte JNICALL Java_csql_jdbc_JSqlStatement_getByte
970 (JNIEnv *env, jobject obj, jint pos)
972 jclass cls;
973 jfieldID fid;
975 cls = env->GetObjectClass( obj );
976 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
977 if (fid == 0)
979 jclass Exception = env->FindClass("java/lang/Exception");
980 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
981 return(-1);
983 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
985 // Validate pos
986 // Handle conversion
988 // Read data at column
989 void *fvp = sqlStmt->getFieldValuePtr( pos );
990 return( * ((char*)fvp) );
994 * Class: JSqlStatement
995 * Method: getFloat
996 * Signature: (I)F
998 JNIEXPORT jfloat JNICALL Java_csql_jdbc_JSqlStatement_getFloat
999 (JNIEnv *env, jobject obj, jint pos)
1001 jclass cls;
1002 jfieldID fid;
1004 cls = env->GetObjectClass( obj );
1005 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1006 if (fid == 0)
1008 jclass Exception = env->FindClass("java/lang/Exception");
1009 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1010 return(-1);
1012 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1014 // Validate pos
1015 // Handle conversion
1017 // Read data at column
1018 void *fvp = sqlStmt->getFieldValuePtr( pos );
1019 return( * ((float*)fvp) );
1023 * Class: JSqlStatement
1024 * Method: getDouble
1025 * Signature: (I)D
1027 JNIEXPORT jdouble JNICALL Java_csql_jdbc_JSqlStatement_getDouble
1028 (JNIEnv *env, jobject obj, jint pos)
1030 jclass cls;
1031 jfieldID fid;
1033 cls = env->GetObjectClass( obj );
1034 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1035 if (fid == 0)
1037 jclass Exception = env->FindClass("java/lang/Exception");
1038 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1039 return(-1);
1041 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1043 // Validate pos
1044 // Handle conversion
1046 // Read data at column
1047 void *fvp = sqlStmt->getFieldValuePtr( pos );
1048 return( * ((double*)fvp) );
1052 * Class: JSqlStatement
1053 * Method: getString
1054 * Signature: (I)Ljava/lang/String;
1056 JNIEXPORT jstring JNICALL Java_csql_jdbc_JSqlStatement_getString
1057 (JNIEnv *env, jobject obj, jint pos)
1059 jclass cls;
1060 jfieldID fid;
1062 cls = env->GetObjectClass( obj );
1063 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1064 if (fid == 0)
1066 jclass Exception = env->FindClass("java/lang/Exception");
1067 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1068 return( (jstring) 0 );
1070 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1072 // Validate pos
1073 // Handle conversion
1075 // Read data at column
1076 void *fvp = sqlStmt->getFieldValuePtr( pos );
1077 return( env->NewStringUTF( (char*) fvp ) );
1081 * Class: JSqlStatement
1082 * Method: getBytes
1083 * Signature: (I)[B
1085 JNIEXPORT jbyteArray JNICALL Java_csql_jdbc_JSqlStatement_getBytes
1086 (JNIEnv *, jobject, jint);
1089 * Class: JSqlStatement
1090 * Method: getDate
1091 * Signature: (I)Ljava/sql/Date;
1093 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getDate
1094 (JNIEnv *env, jobject obj, jint pos)
1096 jclass cls;
1097 jfieldID fid;
1099 cls = env->GetObjectClass( obj );
1100 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1101 if (fid == 0)
1103 jclass Exception = env->FindClass("java/lang/Exception");
1104 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1105 return( (jobject) 0 );
1107 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1109 // Validate pos
1110 // Handle conversion
1112 // Read data at column
1113 void *fvp = sqlStmt->getFieldValuePtr( pos );
1115 // Create Java Object
1116 jclass cDate = env->FindClass("java/sql/Date");
1117 jmethodID methodID = env->GetMethodID( cDate, "<init>", "(III)V" );
1118 jobject dateObj;
1120 Date *dt = (Date*) fvp;
1121 dateObj = env->NewObject( cDate, methodID,
1122 (jint) dt->year()-1900, (jint) dt->month() - 1,
1123 (jint) dt->dayOfMonth() );
1125 return( dateObj );
1129 * Class: JSqlStatement
1130 * Method: getTime
1131 * Signature: (I)Ljava/sql/Time;
1133 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTime
1134 (JNIEnv *env, jobject obj, jint pos)
1136 jclass cls;
1137 jfieldID fid;
1139 cls = env->GetObjectClass( obj );
1140 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1141 if (fid == 0)
1143 jclass Exception = env->FindClass("java/lang/Exception");
1144 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1145 return( (jobject) 0 );
1147 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1149 // Validate pos
1150 // Handle conversion
1152 // Read data at column
1153 void *fvp = sqlStmt->getFieldValuePtr( pos );
1155 // Create Java Object
1156 jclass cTime = env->FindClass("java/sql/Time");
1157 jmethodID methodID = env->GetMethodID( cTime, "<init>", "(III)V" );
1158 jobject timeObj;
1160 Time *tm = (Time*) fvp;
1161 timeObj = env->NewObject( cTime, methodID,
1162 (jint) tm->hours(), (jint) tm->minutes(),
1163 (jint) tm->seconds() );
1165 return( timeObj );
1169 * Class: JSqlStatement
1170 * Method: getTimestamp
1171 * Signature: (I)Ljava/sql/Timestamp;
1173 JNIEXPORT jobject JNICALL Java_csql_jdbc_JSqlStatement_getTimestamp
1174 (JNIEnv *env, jobject obj, jint pos)
1176 jclass cls;
1177 jfieldID fid;
1179 cls = env->GetObjectClass( obj );
1180 fid = env->GetFieldID( cls, "sqlStmtPtr", "J");
1181 if (fid == 0)
1183 jclass Exception = env->FindClass("java/lang/Exception");
1184 env->ThrowNew(Exception,"JNI: GetFieldID failed.\n");
1185 return( (jobject) 0 );
1187 AbsSqlStatement *sqlStmt = (AbsSqlStatement*) env->GetLongField( obj, fid );
1189 // Validate pos
1190 // Handle conversion
1192 // Read data at column
1193 void *fvp = sqlStmt->getFieldValuePtr( pos );
1195 // Create Java Object
1196 jclass cTimestamp = env->FindClass("java/sql/Timestamp");
1197 jmethodID methodID = env->GetMethodID( cTimestamp, "<init>", "(IIIIIII)V" );
1198 jobject timeObj;
1200 TimeStamp *ts = (TimeStamp*) fvp;
1201 timeObj = env->NewObject( cTimestamp, methodID, \
1202 (jint) ts->year()-1900, (jint) ts->month() - 1, (jint) ts->dayOfMonth(), \
1203 (jint) ts->hours(), (jint) ts->minutes(), (jint) ts->seconds(), (jint) 0 );
1205 return( timeObj );
1209 * Class: JSqlStatement
1210 * Method: getBoolean
1211 * Signature: (I)Z
1213 JNIEXPORT jboolean JNICALL Java_csql_jdbc_JSqlStatement_getBoolean
1214 (JNIEnv *, jobject, jint);
1216 #ifdef __cplusplus
1218 #endif