1

私は新しいAndroid開発者であり、ログイン画面を備えたアプリケーションを開発しています。

アプリケーションが起動すると、データベース(LoginDB)が存在するかどうかがチェックされます。存在しない場合は、データベースを作成し、テーブルを作成して1行を挿入します。データベースが存在する場合は、アプリケーションの実行を続行します。

特定のデータベースが存在するかどうか、および必要なテーブルがすでに存在するかどうかをどのように確認しますか。

私はアンドロイド2.2を使用しています

4

3 に答える 3

1

SQLiteOpenHelperクラスにはonCreateとonUpdateの2つのメソッドがあり、必要なことを正確に実行します。データベースがない場合はonCreateメソッドを呼び出し、データベースが存在する場合はonUpdateメソッドを呼び出します。良い例についてはVogellasサイトをチェックしてください

于 2012-05-01T08:20:15.093 に答える
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
}
于 2012-05-01T08:23:50.687 に答える
0

このクエリを使用すると、テーブルがDBに存在するかどうかを確認できます。

SELECT name FROM sqlite_master WHERE type='table' AND name='table_name';

そうでなければ、

データベースヘルパーのonCreateでは、次のようなクエリの作成を使用する必要があります。

CREATE TABLE IF NOT EXISTS "+tablename+" ( "+ colums+");");
于 2012-05-01T08:29:58.870 に答える