Android database: problem with IllegalStateException

I created the SQLite database as follows:

private static final String DATABASE_CREATE = "create table " + DATABASE_TABLE_SETTINGS + " (" +
KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_NAME + " INTEGER UNIQUE not null, " +
VALUE + " TEXT not null);" + 

"create table " + DATABASE_TABLE_RECORDINGS + " (" +
KEY_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
RECORDING_FILENAME + " TEXT UNIQUE NOT NULL, " +
RECORDING_TITLE + " TEXT NOT NULL, " +
RECORDING_TAGS + " TEXT, " +
RECORDING_LOCATION + " TEXT, " +
RECORDING_TIME + " TEXT);";

@Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(DATABASE_CREATE);
...
}

I am trying to save a new record by calling the following method:

public long insertRecordingInfo(String filename, String title, String tags, int privacyLevel, String location, String recordingTime){
    long res = -1;
    ContentValues recordingInfoParameters = new ContentValues();
    recordingInfoParameters.put(RECORDING_FILENAME, filename);
    recordingInfoParameters.put(RECORDING_TITLE, title);
    recordingInfoParameters.put(RECORDING_TAGS, tags);
    recordingInfoParameters.put(RECORDING_PRIVACY_LEVEL, privacyLevel);
    recordingInfoParameters.put(RECORDING_LOCATION, location);
    recordingInfoParameters.put(RECORDING_TIME, recordingTime);

    if(db != null){
        res = db.insert(DATABASE_TABLE_RECORDINGS, null, recordingInfoParameters);
    }
    return res;
}

but db.insert () returns -1 (it does not save the new record) and returns an IllegalStateException:

java.lang.IllegalStateException: /data/data/dev.client.android/databases/clientDB.db SQLiteDatabase created and never closed

Does anyone know what is wrong here, and how can this be fixed?

+3
source share
1 answer

From reference :

Multiple statements separated by: s are not supported.

Maybe a problem?

+4
source

Source: https://habr.com/ru/post/1712467/


All Articles