読者です 読者をやめる 読者になる 読者になる

【Android】SQLite unable to open database file (code 14)

Android

 

SQLite で unable to open database file (code 14) が発生した場合

c.moveToFirst()  ここで発生しました。

 

Cursor c = db.query(false, TABLE_NAME, null, selection, selections, null, null, null, null, null);
boolean EOF = c.moveToFirst();
db.beginTransaction();
try{
  if (EOF) {
    db.update(TABLE_NAME, values, selection, selections);
  } else {
    db.insertOrThrow(TABLE_NAME, null, values);
  }
    db.setTransactionSuccessful();
 }finally{
    db.endTransaction();
    c.close(); ※これが必要
}

 

複数件数を繰り返し処理していて、数量が少ない場合エラーは発生しませんでしたが、

数量が増えてきた際に、エラーが発生しました。

カーソルのメモリ?がいっぱいになったってことなのでしょうか。

 

クローズは忘れずに!