如何找到特定的数据库和表已经存在或没有在android中

时间:2012-05-01 08:08:48

标签: java android sqlite mobile-application

我是一名新的Android开发人员,正在开发一个具有登录屏幕的应用程序。

当应用程序启动时,它会检查数据库(LoginDB)是否存在。如果它不存在那么我想创建数据库,创建表并插入1行。如果数据库存在,那么它将继续执行应用程序。

如何确定特定数据库是否存在以及所需表是否已存在。

我正在使用 android 2.2

3 个答案:

答案 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+");");