我是一名新的Android开发人员,正在开发一个具有登录屏幕的应用程序。
当应用程序启动时,它会检查数据库(LoginDB)是否存在。如果它不存在那么我想创建数据库,创建表并插入1行。如果数据库存在,那么它将继续执行应用程序。
如何确定特定数据库是否存在以及所需表是否已存在。
我正在使用 android 2.2
答案 0 :(得分:1)
SQLiteOpenHelper 类有两个onCreate和onUpdate方法,它们完全符合您的需要。如果没有数据库,那么它将调用onCreate方法,如果它存在,它将调用onUpdate方法。检查Vogellas site以获得一个很好的例子
答案 1 :(得分:1)
查找特定数据库中是否存在的表。
SQLiteDatabase db = openOrCreateDatabase("your db file name",
SQLiteDatabase.CREATE_IF_NECESSARY, null);
Cursor cursor = db.query("sqlite_master", new String[] { "name" },
"name=" + "'your table name'", null, null, null, null);
if (cursor.getCount() <= 0) {
//Table is not exists
}
else
{
//table is exists
}
答案 2 :(得分:0)
使用此查询可以检查表中是否存在表,
SELECT name FROM sqlite_master WHERE type='table' AND name='table_name';
,否则
在onCreate of database helper中你必须使用create query,如下所示,
CREATE TABLE IF NOT EXISTS "+tablename+" ( "+ colums+");");