Ciao a tuttiavrei un problemino. Ho creato queste tabelle qui:
E poi in un file java c'è questo metodo: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);
Al primo inserimento... tutto okay.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); }
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?![]()

LinkBack URL
About LinkBacks
avrei un problemino. Ho creato queste tabelle qui:
Rispondi quotando