私はデータベースを作成していて、次のような行を挿入しています。
/* Add two DataSets to the Table. */
myDB.execSQL("INSERT INTO "
+ MY_DATABASE_TABLE
+ " (LastName, FirstName, Country, Age)"
+ " VALUES ('Gramlich', 'Nicolas', 'Germany', 20);");
myDB.execSQL("INSERT INTO "
+ MY_DATABASE_TABLE
+ " (LastName, FirstName, Country, Age)"
+ " VALUES ('Doe', 'John', 'US', 34);");
上記のコードに関して2つの質問があります。
重複レコードを禁止するにはどうすればよいですか?挿入時に受信データを確認したい。どうすればそれを達成できますか?使用する必要があります
IF NOT EXISTS
か?そのデータベースが利用可能かどうかを確認するにはどうすればよいですか?これまでのところ、成功せずに、私は試しました:
private static String DB_PATH = "/data/data/YOUR_PACKAGE/databases/myDBName"; private static String DB_NAME = "myDBName"; private boolean checkDataBase() { SQLiteDatabase checkDB = null; try { checkDB = SQLiteDatabase.openDatabase(DB_PATH, null, SQLiteDatabase.OPEN_READONLY); checkDB.close(); } catch (SQLiteException e) { // database doesn't exist yet. } return checkDB != null ? true : false; }
これを達成する方法について何か提案はありますか?