私は新しいAndroid開発者であり、ログイン画面を備えたアプリケーションを開発しています。
アプリケーションが起動すると、データベース(LoginDB)が存在するかどうかがチェックされます。存在しない場合は、データベースを作成し、テーブルを作成して1行を挿入します。データベースが存在する場合は、アプリケーションの実行を続行します。
特定のデータベースが存在するかどうか、および必要なテーブルがすでに存在するかどうかをどのように確認しますか。
私はアンドロイド2.2を使用しています
私は新しいAndroid開発者であり、ログイン画面を備えたアプリケーションを開発しています。
アプリケーションが起動すると、データベース(LoginDB)が存在するかどうかがチェックされます。存在しない場合は、データベースを作成し、テーブルを作成して1行を挿入します。データベースが存在する場合は、アプリケーションの実行を続行します。
特定のデータベースが存在するかどうか、および必要なテーブルがすでに存在するかどうかをどのように確認しますか。
私はアンドロイド2.2を使用しています
SQLiteOpenHelperクラスにはonCreateとonUpdateの2つのメソッドがあり、必要なことを正確に実行します。データベースがない場合はonCreateメソッドを呼び出し、データベースが存在する場合はonUpdateメソッドを呼び出します。良い例についてはVogellasサイトをチェックしてください
テーブルを見つけるには、特定のデータベースに存在するかどうかを指定します。
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
}
このクエリを使用すると、テーブルがDBに存在するかどうかを確認できます。
SELECT name FROM sqlite_master WHERE type='table' AND name='table_name';
そうでなければ、
データベースヘルパーのonCreateでは、次のようなクエリの作成を使用する必要があります。
CREATE TABLE IF NOT EXISTS "+tablename+" ( "+ colums+");");