에러 로그

08-28 18:28:54.020: E/SQLiteDatabase(20113): close() was never explicitly called on database '/data/data/sohyeon.mgr/databases/lm_v1.db' 

08-28 18:28:54.020: E/SQLiteDatabase(20113): android.database.sqlite.DatabaseObjectNotClosedException: Application did not close the cursor or database object that was opened here

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.database.sqlite.SQLiteDatabase.<init>(SQLiteDatabase.java:1961)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:1025)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:991)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.database.sqlite.SQLiteDatabase.openOrCreateDatabase(SQLiteDatabase.java:1069)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:813)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:157)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at sohyeon.mgr.DiaryDBAdapter.open(DiaryDBAdapter.java:591)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at sohyeon.mgr.AccountBookWrite.setDBOpen(AccountBookWrite.java:938)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at sohyeon.mgr.AccountBookWrite.setAccountBookData(AccountBookWrite.java:695)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at sohyeon.mgr.AccountBookWrite.onStart(AccountBookWrite.java:425)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1135)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.Activity.performStart(Activity.java:4711)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1933)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1985)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.ActivityThread.access$600(ActivityThread.java:127)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1151)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.os.Handler.dispatchMessage(Handler.java:99)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.os.Looper.loop(Looper.java:137)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at android.app.ActivityThread.main(ActivityThread.java:4482)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at java.lang.reflect.Method.invokeNative(Native Method)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at java.lang.reflect.Method.invoke(Method.java:511)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:788)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:555)

08-28 18:28:54.020: E/SQLiteDatabase(20113): at dalvik.system.NativeStart.main(Native Method)

08-28 18:28:54.020: E/System(20113): Uncaught exception thrown by finalizer

08-28 18:28:54.020: E/System(20113): java.lang.IllegalStateException: Don't have database lock!

08-28 18:28:54.020: E/System(20113): at android.database.sqlite.SQLiteDatabase.verifyLockOwner(SQLiteDatabase.java:2108)

08-28 18:28:54.020: E/System(20113): at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2200)

08-28 18:28:54.020: E/System(20113): at android.database.sqlite.SQLiteDatabase$1.entryRemoved(SQLiteDatabase.java:2196)

08-28 18:28:54.020: E/System(20113): at android.util.LruCache.trimToSize(LruCache.java:197)

08-28 18:28:54.020: E/System(20113): at android.util.LruCache.evictAll(LruCache.java:285)

08-28 18:28:54.020: E/System(20113): at android.database.sqlite.SQLiteDatabase.deallocCachedSqlStatements(SQLiteDatabase.java:2161)

08-28 18:28:54.020: E/System(20113): at android.database.sqlite.SQLiteDatabase.closeClosable(SQLiteDatabase.java:1144)

08-28 18:28:54.020: E/System(20113): at android.database.sqlite.SQLiteDatabase.finalize(SQLiteDatabase.java:1932)

08-28 18:28:54.020: E/System(20113): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:185)

08-28 18:28:54.020: E/System(20113): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:168)

08-28 18:28:54.020: E/System(20113): at java.lang.Thread.run(Thread.java:856)



데이터베이스 에러인 건 분명한데...

DiaryDBAdapter .java

..

private DatabaseHelper mDbHelper;

private SQLiteDatabase mDb; 

..

public DiaryDBAdapter open() throws SQLException {

mDbHelper = new DatabaseHelper(mCtx);

mDb = mDbHelper.getWritableDatabase();

return this;

}

public void close(){
mDb.close();
mDbHelper.close();
}

AccountBookWrite.java
/**
* DB Open
*/
public void setDBOpen(){
try{
       mDbHelper = null;
mDbHelper = new DiaryDBAdapter(this);
mDbHelper.open();
}catch(SQLException e){
Log.e(TAG, e.toString());
}catch(Exception e){
Log.e(TAG, e.toString());
}        
}

public void setDBClose(){
try{
if(mDbHelper != null){
mDbHelper.close();
mDbHelper = null;
}
}catch(SQLException e){
Log.e(TAG, "close error " + e.toString());
}catch(Exception e){
Log.e(TAG, "close err : " + e.toString());
}finally{
if(mDbHelper != null){
mDbHelper = null;
}
}
}

이렇게 되어있습니다....   
다른 데는 문제가 없는 데...setDBOpen()과 setDBClose() 를  여러번 호출하는 경우 에러가 납니다....
왜 그런지 아시는 분 답변부탁드립니다...ㅜㅜ