2017-07-13 18 views
-1

android.database.sqlite.SQLiteDatabaseLockedExceptionでロックされ、コンパイル中:プラグマがアンドロイドでandroid.database.sqlite.SQLiteConnection.nativePrepareStatement(ネイティブメソッド) で をjournal_mode。 android.database.sqlite.SQLiteConnection.executeForStringでdatabase.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:898) (SQLiteConnection.java:643は)データベースは、アンドロイドのSQLite

                 at android.database.sqlite.SQLiteConnection.setJournalMode(SQLiteConnection.java:325) 
                    at android.database.sqlite.SQLiteConnection.setWalModeFromConfiguration(SQLiteConnection.java:299) 
                    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:220) 
                    at android.database.sqlite.SQLiteConnection.open(SQLiteConnection.java:198) 
                    at android.database.sqlite.SQLiteConnectionPool.openConnectionLocked(SQLiteConnectionPool.java:463) 
                    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:185) 
                    at android.database.sqlite.SQLiteConnectionPool.open(SQLiteConnectionPool.java:177) 

これは私のコードです

try { 
      db.beginTransaction(); 
      String sql = "INSERT INTO " + DBHelperConstants.TABLE_DistrictMaster + " (" 
      +DBHelperConstants.KEY_DistrictCode +" , " + DBHelperConstants.KEY_DistrictName + " , " 
        +DBHelperConstants.KEY_SubDistrictCode + " , " + DBHelperConstants.KEY_SubDistrictName + " , " 
        +DBHelperConstants.KEY_MarketUID +" , " + DBHelperConstants.KEY_MarketName + " , " 
        +DBHelperConstants.KEY_SubStkUID +" , " + DBHelperConstants.KEY_Population + ") " 
        + " VALUES (?,?,?,?,?,?,?,?);"; 
      SQLiteStatement statement = db.compileStatement(sql); 

      for (int i = 0; i < list.size(); i++) { 
       DistrictMaster districtMaster = list.get(i); 
       statement.bindString(1, districtMaster.getDistrictCode()); 
       statement.bindString(2, districtMaster.getDistrictName()); 
       statement.bindString(3, districtMaster.getSubdistrictcode()); 
       statement.bindString(4, districtMaster.getSubdistrictName()); 
       statement.bindString(5, districtMaster.getMarketUid()); 
       statement.bindString(6, districtMaster.getMarketName()); 
       statement.bindString(7, districtMaster.getSubStkuid()); 
       statement.bindString(8, districtMaster.getPopulation()); 
       statement.execute(); 
      } 
      db.setTransactionSuccessful(); 
      Log.w("", "Done"); 
     } catch (Exception e) { 
      Log.w("XML:", e); 
     } finally { 
      db.endTransaction(); 
     } 
    } 
+0

データベースインスタンスを開いて閉じている場所からコードスニペットを共有できますか? –

答えて

1

確認してください。データベースへの接続を忘れることがあります。データベースが常に書き込みモードで開いていて、データベースを閉じていない場合は、何も書き込むことはできません。

0

このエラーが発生したのはnull値が追加されていた

関連する問題