You're trying to open the database several times. Use a single ReportDatabase object, available via a static method ReportDatabase. Something like this:
class ReportDatabase{ static ReportDatabase TheDatabase = null; static ReportDatabase Open(Context c) { if(TheDatabase == null) TheDatabase = new ReportDatabase(c); return TheDatabase; }}
This is often called a singleton. Or a global :)