我想创建一个可用于保存不同表的数据库。但首先,我只想创建一个没有任何表的数据库,然后检查数据库文件是否存在,然后发出create table命令。因此,表创建可以在以后完成,但数据库创建最初可以在android应用程序启动时完成
答案 0 :(得分:0)
要记住的一件事是,如果您没有表格,则可能实际上不会创建数据库。在创建第一个表之前,只创建数据库不会有任何损害。
答案 1 :(得分:0)
这应该是可能的。查看this链接。尝试使用getWritableDatabase()。根据文档,这应该创建数据库(如果存在),或者打开现有数据库。
如果您遇到此问题,只需使用this之类的表创建数据库,然后立即删除表。即:
public static void clearDatabase(SQLiteDatabase db) {
db.delete(DATABASE_TABLE, null, null);
db.delete(sqlite_sequence, "name = '"
+ DATABASE_TABLE + "'", null);
}
以上代码删除表中的所有条目。要完全删除它,你可以尝试这个
db.execSQL("DROP TABLE IF EXISTS '" + DATABASE_TABLE + "'");
希望这有帮助! 干杯
答案 2 :(得分:0)
不完全确定您尝试实现的目标对我而言,听起来您只是将创建/未创建的数据库状态用作标志。如果是这样可能更好的只是处理这是一个共享的首选变量,并在您真正需要时创建数据库。
答案 3 :(得分:0)