2011-12-07 6 views
0

je continue à avoir un NUllPointerException sur la ligne:Android: exception de pointeur nul

return mDb.insert(DATABASE_TABLE, null, initialValues); 

Je ne sais pas pourquoi. Quelqu'un peut-il m'aider? Ceci est la base de données SQLite de mon application:

public MessagesDBAdapter open() throws SQLException { 
      mDbHelper = new DatabaseHelper(mCtx); 
      mDb = mDbHelper.getWritableDatabase(); 
      return this; 
     } 

    public void close() { 
     mDbHelper.close(); 
    } 

    public long createNote(String phoneNo, String message) { 
     ContentValues initialValues = new ContentValues(); 
     initialValues.put(KEY_RECIPIENT, phoneNo); 
     initialValues.put(KEY_MESSAGE, message); 

     return mDb.insert(DATABASE_TABLE, null, initialValues); 
    } 

    public boolean deleteNote(long rowId) { 

     return mDb.delete(DATABASE_TABLE, KEY_ROWID + "=" + rowId, null) > 0; 
    } 
+0

Qu'est-ce que null? Au moins une partie de la trace de pile peut être utile. –

Répondre

1

Il semble que mDb ne soit pas défini. Avez-vous appelé open() avant d'appeler createNote? Sinon, essayez d'ajouter un appel à open() dans la méthode createNote comme ceci:

public long createNote(String phoneNo, String message) { 
    ContentValues initialValues = new ContentValues(); 
    initialValues.put(KEY_RECIPIENT, phoneNo); 
    initialValues.put(KEY_MESSAGE, message); 

    open(); 

    return mDb.insert(DATABASE_TABLE, null, initialValues); 
}