-2
我正在使用SQLite来保存联系人,我从服务器检索联系人。如何使SQLite插入功能异常
我就与每个联系人(电话号码)的唯一值的SQLite数据库,你可以在这里看到:
public void onCreate(SQLiteDatabase db) {
String CREATETABLE = "CREATE TABLE contacts (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT, "+
"profil TEXT, "+
"phone TEXT UNIQUE ,"+
"show TEXT)";
db.execSQL(CREATETABLE);
}
,然后我做了能够插入一个新的联系人功能:
public void addcontact(contacts contact){
SQLiteDatabase db = this.getWritableDatabase();
ContentValues values = new ContentValues();
values.put("name", contact.getName());
values.put("phone", contact.getNumero());
values.put("profil", contact.getProfil());
values.put("show", contact.getShow());
try {
db.insert("contacts", // table
null, //nullColumnHack
values);
} catch (Exception e){
}
db.close();
}
但是,当我试图插入已插入相同的电话号码,我在日志中得到一个错误,请联系:
E/SQLiteLog﹕ (2067) abort at 15 in [INSERT INTO contacts(phone,name,show,profil) VALUES (?,?,?,?)]: UNIQUE constraint failed: contacts.phone
如何处理该错误并显示例如该联系人已存在的日志消息?
开始做你的异常的东西。你的catch块是空的 – njzk2
请阅读本页:https://www.sqlite.org/lang_conflict.html –