设为首页 加入收藏

TOP

我实现的内存数据库JDBC驱动(二)
2015-07-24 10:56:07 来源: 作者: 【 】 浏览:10
Tags:实现 内存 数据库 JDBC 驱动
JNICALL Java_com_lxjdb_jdbc_LxjDbApi_Rows (JNIEnv * env, jobject obj, jlong conn) { void* pConn = (void*)conn; return( LxjDbRows(pConn) ); // 总行数 } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: Cols * Signature: (J)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_Cols (JNIEnv * env, jobject obj, jlong conn) { void* pConn = (void*)conn; return(LxjDbCols(pConn)); // 总列数 } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: GetColInfoByIndex * Signature: (JI[Ljava/lang/String;[I)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_GetColInfoByIndex (JNIEnv * env, jobject obj, jlong conn, jint col, jobjectArray retName, jintArray lenTypePos) { void* pConn = (void*)conn; char name[200]; name[0] = '\0'; int len=0; int type=0; int pos=0; int ret = LxjDbGetColInfoByIndex(pConn, col, name, len, type, pos); // 根据列索引(从0开始)找到字段信息 env->SetObjectArrayElement(retName, 0, env->NewStringUTF(name)); jint *pArr = env->GetIntArrayElements(lenTypePos, NULL); pArr[0] = len; pArr[1] = type; pArr[2] = pos; env->ReleaseIntArrayElements(lenTypePos, pArr, NULL); return(ret); } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: GetColInfoByName * Signature: (JLjava/lang/String;[I)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_GetColInfoByName (JNIEnv * env, jobject obj, jlong conn, jstring name, jintArray lenTypePos) { void* pConn = (void*)conn; const char* pName = env->GetStringUTFChars(name, 0); int len = 0; int type = 0; int pos = 0; int ret = LxjDbGetColInfoByName(pConn, pName, len, type, pos); env->ReleaseStringUTFChars(name, pName); jint *pArr = env->GetIntArrayElements(lenTypePos, NULL); pArr[0] = len; pArr[1] = type; pArr[2] = pos; env->ReleaseIntArrayElements(lenTypePos, pArr, NULL); return(ret); } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: Next * Signature: (J)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_Next (JNIEnv * env, jobject obj, jlong conn) { void* pConn = (void*)conn; return(LxjDbNext(pConn)); // 下一行 } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: GotoRec * Signature: (JI)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_GotoRec (JNIEnv * env, jobject obj, jlong conn, jint recNo) { void* pConn = (void*)conn; return(LxjDbGotoRec(pConn, recNo)); // 到指定行 } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: LxjDbGetValByName * Signature: (JLjava/lang/String;[Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_LxjDbGetValByName (JNIEnv * env, jobject obj, jlong conn, jstring name, jobjectArray retVal) { void* pConn = (void*)conn; const char* pName = env->GetStringUTFChars(name, 0); char val[2048]; val[0] = '\0'; int ret = LxjDbGetValByName(pConn, pName, val); env->ReleaseStringUTFChars(name, pName); env->SetObjectArrayElement(retVal, 0, env->NewStringUTF(val)); return(ret); } /* * Class: com_lxjdb_jdbc_LxjDbApi * Method: GetValByIndex * Signature: (JI[Ljava/lang/String;)I */ JNIEXPORT jint JNICALL Java_com_lxjdb_jdbc_LxjDbApi_GetValByIndex (JNIEnv * env, jobject obj, jlong conn, jint col, jobjectArray retVal) { void* pConn = (void*)conn; char val[2048]; val[0] = '\0'; int ret = LxjDbGetValByIndex(pConn, col, val); en
首页 上一页 1 2 3 4 5 下一页 尾页 2/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇为什么不记录慢查询? 下一篇windows下sqlplus/assysdba报ora-..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·微服务 Spring Boot (2025-12-26 18:20:10)
·如何调整 Redis 内存 (2025-12-26 18:20:07)
·MySQL 数据类型:从 (2025-12-26 18:20:03)
·Linux Shell脚本教程 (2025-12-26 17:51:10)
·Qt教程,Qt5编程入门 (2025-12-26 17:51:07)