繁体   English   中英

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

[英]How to access one class database in another class?

我在课堂上创建了一个数据库

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”代码。但是它给出了一个异常,如在游标行中编译时没有这样的表。

请帮我。

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

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

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

可在此处找到有关如何使用SQLiteOpenHelper教程。

您可能要做的最好的事情就是拥有一个数据库助手,您可以在其中进行所有这些调用,并且所有活动都可以使用和访问它们。

此外,您应该删除并重新安装您的应用程序才能创建表。 有时候我有这个问题。

问题未解决?试试以下方法:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2023 STACKOOM.COM