I keep getting an error in my DDMS:

Code:
07-02 13:44:41.039: ERROR/AndroidRuntime(20944): java.lang.IllegalStateException: database not open
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.database.sqlite.SQLiteDatabase.queryWithFactory(SQLiteDatabase.java:1319)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1279)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.database.sqlite.SQLiteDatabase.query(SQLiteDatabase.java:1359)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.laytproducts.aresponder.SmsDatabase.selectAllReceive(SmsDatabase.java:62)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.laytproducts.aresponder.MainAct.update(MainAct.java:279)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.laytproducts.aresponder.MainAct.onContextItemSelected(MainAct.java:271)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.app.Activity.onMenuItemSelected(Activity.java:2205)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.policy.impl.PhoneWindow$ContextMenuCallback.onMenuItemSelected(PhoneWindow.java:2819)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:143)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:855)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.view.menu.MenuDialogHelper.onClick(MenuDialogHelper.java:137)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:877)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.widget.AdapterView.performItemClick(AdapterView.java:284)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.widget.ListView.performItemClick(ListView.java:3444)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:1719)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.os.Handler.handleCallback(Handler.java:587)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.os.Handler.dispatchMessage(Handler.java:92)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.os.Looper.loop(Looper.java:143)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at android.app.ActivityThread.main(ActivityThread.java:4701)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at java.lang.reflect.Method.invokeNative(Native Method)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at java.lang.reflect.Method.invoke(Method.java:521)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
07-02 13:44:41.039: ERROR/AndroidRuntime(20944):     at dalvik.system.NativeStart.main(Native Method)
and this is my code:
Code:
public void open(){
		if(!db.isOpen()){
			SQLiteDatabase.openDatabase(db.getPath(), null, SQLiteDatabase.OPEN_READWRITE);
		}
	}

public List<String> selectAllReceive(){
		open();
		List<String> list = new ArrayList<String>();
		Cursor c = this.db.query(TABLE_NAME, new String[] {"receive"}, null, null, null,
				null, null); //ERROR HERE
		if (c.moveToFirst()){
			while(c.moveToNext()){
				list.add(c.getString(0));
			}
		}
		c.close();
		return list;
	}
What am I doing wrong?

Thanks