Je crée une base de données et j'insérer une ligne comme ceci:Disallow enregistrements en double et vérifier si la base de données est disponible
/* 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);");
J'ai deux questions concernant le code ci-dessus:
Comment interdire les enregistrements en double? Je veux vérifier les données entrantes au moment de l'insertion. Comment puis-je y parvenir? Dois-je utiliser
IF NOT EXISTS
?Comment puis-je vérifier si cette base de données est disponible ou non? Jusqu'à présent, sans succès, je l'ai essayé:
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; }
Toutes les suggestions sur la façon d'y parvenir?
Qu'est-ce qu'un double? Que se passe-t-il lorsque Joe Doe, aux États-Unis, revient un an plus tard et qu'il a maintenant un an de plus? –
stocker la date de naissance, pas l'âge. – njzk2