[SQLite] getWritableDatabase called recursively
Bonjour,
En ayant fini de créer ma base de données SQLite, j'ai obtenu l'erreur suivante :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| 07-07 12:55:16.104: ERROR/AndroidRuntime(407): Caused by: java.lang.IllegalStateException: getWritableDatabase called recursively
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:101)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at com.irdes.db.DataBaseHelper.onCreate(DataBaseHelper.java:205)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:126)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at com.irdes.db.DataBaseHelper.getActualite(DataBaseHelper.java:439)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at com.irdes.control.InitList.initListActu(InitList.java:61)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at com.irdes.control.InitList.initListAll(InitList.java:48)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at com.irdes.control.InitList.<init>(InitList.java:42)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at com.irdes.application.irdesApplication.onCreate(irdesApplication.java:39)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
07-07 12:55:16.104: ERROR/AndroidRuntime(407): ... 11 more |
Les deux lignes qui provoquent ce problème sont les suivantes :
Dans le onCreate, quand j'insère des données dans la base :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
public void onCreate(SQLiteDatabase db) {
[...]
db =this.getWritableDatabase();
ContentValues cv=new ContentValues();
cv.put(d.colTypeActuNum, 1);
cv.put(d.coltypeActuLibelle, "Gen");
db.insert(d.typeActuTable, d.colTypeActuNum, cv);
[...]
} |
Et dans le getActualité :
Code:
1 2 3 4 5 6 7 8 9
| public Cursor getActualite(){
SQLiteDatabase db=this.getWritableDatabase();
Cursor cursor = db.query(d.actualiteTable, new String[] {d.colActualiteTitre, d.colActualiteDate, d.colActualiteLien, d.colActualiteTypeActu},
null, null, null, null, null);
cursor.close();
return cursor;
} |
Quel serait le problème ?