Ciao a tutti avrei un problemino. Ho creato queste tabelle qui:
codice:
String sql = "";
sql += "CREATE TABLE Paziente ( " +
" _id INTEGER PRIMARY KEY," +
" id TEXT NOT NULL UNIQUE," +
" cf TEXT NOT NULL UNIQUE," +
" cognome TEXT NOT NULL," +
" nome TEXT NOT NULL," +
" data_nascita TEXT NOT NULL," +
" citta TEXT NOT NULL," +
" domicilio TEXT NOT NULL" +
");";
db.execSQL(sql);
E poi in un file java c'è questo metodo:
codice:
public void writePazienteTable(){
mioDatabaseHelper = new PazientiDataBaseHelper(this);
SQLiteDatabase db_write = mioDatabaseHelper.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("id", "paz001");
values.put("cf", "xxxyyy");
values.put("cognome", "XXX");
values.put("nome", "YYY");
values.put("data_nascita", "1990/01/09");
values.put("citta", "Bari");
values.put("domicilio", "via inesistente 12");
long id = db_write.insert("Paziente", null, values);
}
Al primo inserimento... tutto okay.
Ora... se io richiamo writePazienteTable() una seconda volta... funziona tutto, però il LogCat mi segnala una caterva di errori (però il programma continua a girare tranquillamente).
Tutto è dovuto al fatto che ho reso id (e anche cf) UNIQUE, ovviamente.
Il programma funziona, ma mi chiedevo, è possibile catturare questa eccezione?
Mi spiego: se si cercasse di inserire un paziente già presente in tabella, lo smartphone dovrebbe visualizzare "Paziente già presente!" ^_^
Ho già provato con un try/catch con SQLiteConstraintException ma niente.
Sapreste aiutarmi?