Bonjour,
En ayant fini de créer ma base de données SQLite, j'ai obtenu l'erreur suivante :
Les deux lignes qui provoquent ce problème sont les suivantes :
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
Dans le onCreate, quand j'insère des données dans la base :
Et dans le getActualité :
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); [...] }
Quel serait le problème ?
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; }
Partager