如何访问另一个类中的一个类数据库?

时间:2011-09-02 10:14:29

标签: android sqlite

我在班上创建了一个数据库,如

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”代码。 但它在编译时在光标线上给出了一个例外,比如没有这样的表..

请帮帮我。

2 个答案:

答案 0 :(得分:3)

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

如果您这样做,您可以(在您喜欢的任何类别中)使用以下行来获取可读或可写数据库:

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

可以找到有关如何使用SQLiteOpenHelper的教程here

答案 1 :(得分:1)

您可以做的最好的事情就是拥有一个数据库帮助程序,您可以在其中进行所有这些调用,并且可以通过您的所有活动访问这些调用。

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