void jni_db::open(const std::string& filename){ db_uri_=filename; jstring jfilename=env->NewStringUTF(filename.substr(filename.find_last_of('/')).c_str()); env->CallVoidMethod(dbhelperobj,dbhelper_open,jfilename); if(env->ExceptionCheck()==JNI_TRUE){ env->ExceptionClear(); throw failed_to_open_db(); } env->ReleaseStringUTFChars(jfilename,env->GetStringUTFChars(jfilename,NULL)); env->DeleteLocalRef(jfilename); }
void sqlite_db::open(const std::string& filename){ if(sqlite3_open(filename.c_str(),&sqlite)!=SQLITE_OK) throw failed_to_open_db(); return; }