我在班上创建了一个数据库,如
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 :(得分:3)
您应该使用SQLiteOpenHelper
- 类来访问和维护您的数据库。
如果您这样做,您可以(在您喜欢的任何类别中)使用以下行来获取可读或可写数据库:
YourSQliteOpenHelper db_con = new YourSQliteOpenHelper(getApplicationContext());
// Readable:
SQLiteDatabase db = db_con.getReadableDatabase();
// Writeable:
SQLiteDatabase db = db_con.getWritableDatabase();
可以找到有关如何使用SQLiteOpenHelper
的教程here。
答案 1 :(得分:1)
您可以做的最好的事情就是拥有一个数据库帮助程序,您可以在其中进行所有这些调用,并且可以通过您的所有活动访问这些调用。
此外,您应该删除并重新安装您的应用程序,以便能够创建表格。我有时会遇到这个问题。