2011-09-02 153 views
0

我在我的课创建的数据库一样如何在另一个类中访问一个类数据库?

public final String CRAZY_ALARM_DB_NAME = "CrazyDb"; 
public final String CRAZY_ALARM_TABLE_NAME = "CrazyTable"; 

alarmDB = this.openOrCreateDatabase(
    CRAZY_ALARM_DB_NAME, MODE_PRIVATE, null 
); 
alarmDB.execSQL("CREATE TABLE IF NOT EXISTS " 
    + CRAZY_ALARM_TABLE_NAME 
    +" (REQ_CODE INT(3),DAY INT(3),HOUR INT(3)" 
    +",MINUTE INT(3),COUNT INT(3),REPEAT INT(3)" 
    +",DAYS VARCHAR2(100),SUN INT(3),MON INT(3)," 
    +"TUE INT(3),WED INT(3),THU INT(3),FRI INT(3)," 
    +"SAT INT(3));" 
); 
cr = alarmDB.rawQuery("SELECT * FROM " 
    +CRAZY_ALARM_TABLE_NAME, null 
); 

,所以我想在其他类中使用这个数据库。我也做同样的事情,我在另一个班级编写了“openorcreate”代码,并且还写入了光标.. 但它在编译时给出了一个异常,例如没有这样的表格......在光标处。

请帮助我。

+0

你可以发布两个类的整个代码? – user370305

回答

1

你能做的最好是有一个数据库帮助,你可以将所有这些呼叫,这可能是可以利用和获取所有的活动。

此外,您应该删除,为了能够创建表重新安装你的应用程序。我有时会遇到这个问题。

3

您应该使用SQLiteOpenHelper -class访问和维护数据库。

如果你这样做,你可以(在任何类你喜欢的),请使用以下行得到的读取或写入数据库:

YourSQliteOpenHelper db_con = new YourSQliteOpenHelper(getApplicationContext()); 
// Readable: 
SQLiteDatabase db = db_con.getReadableDatabase(); 
// Writeable: 
SQLiteDatabase db = db_con.getWritableDatabase(); 

如何使用SQLiteOpenHelper的讲解可以发现here