[英]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.