Bonjour,

En ayant fini de créer ma base de données SQLite, j'ai obtenu l'erreur suivante :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ?