Note that there are some explanatory texts on larger screens.

plurals
  1. POandroid sqlite exception cursor or database not closed
    text
    copied!<p>I'm trying to insert a row in a sqlite database's table, but when I call the insertOrThrow() method (Class Sqlitedatabase) i get this exception: "Application did not close the cursor or database object that was opened here"</p> <p>I don't understand why:</p> <p>here's the code for the main class:</p> <pre><code> ........ ContentValues values = new ContentValues(); values.put("nome", info.getString("nome")); values.put("ingredienti", info.getJSONObject("ingredienti").toString()); values.put("descrizione", info.getString("descrizione")); values.put("persone", info.getString("persone")); values.put("tempo", info.getString("tempo")); values.put("facilita", info.getString("facilita")); if(info.getString("url_foto")!="/images/ricettapredefinita.jpg") values.put("foto", true); else values.put("foto", false); values.put("categoria", info.getString("categoria")); values.put("zona", info.getString("regione")); values.put("ethnos", info.getString("etnica")); values.put("voto", info.getString("voto")); // Open database DbAdapter mDbHelper = new DbAdapter(Main.this); mDbHelper.open_w(); long ritorno=mDbHelper.createRecipe(values); </code></pre> <p>These are the main methods for DbAdapter Class:</p> <pre><code>private static final String DATABASE_CREATE = "CREATE TABLE recipes (" + "_id INTEGER PRIMARY KEY AUTOINCREMENT," + "nome VARCHAR(255) NOT NULL," + "ingredienti TEXT NOT NULL," + "descrizione TEXT " + "persone SMALLINT," + "tempo TINYINT(3)," + "facilita SMALLINT," + "foto BOOL," + "voto TINYINT(3)," + "categoria VARCHAR(255)," + "zona VARCHAR(255)," + "ethnos VARCHAR(255));"; public long createRecipe(ContentValues info) { return mDb.insertOrThrow(DATABASE_TABLE, null, info); } private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(DATABASE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.w(TAG, "Upgrading database from version " + oldVersion + " to " + newVersion + ", which will destroy all old data"); db.execSQL("DROP TABLE IF EXISTS notes"); onCreate(db); } } public DbAdapter open_w() throws SQLException { mDbHelper = new DatabaseHelper(mCtx); mDb = mDbHelper.getWritableDatabase(); return this; } </code></pre> <p>Anyone has an idea for what the problem could be?</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload