java SQLiteException获取唯一的值
我正在尝试将用户插入SQLite数据库。我有两个独特的专栏,分别是用户名和电子邮件。当我试图插入用户和表已经包含该用户名或电子邮件时,它会抛出一个错误。当我发现错误并打印信息时,它会说
09-28 16:20:30.079 5249-5249/com。实例米尔扬拉基塔。shoppingapplication D/RegisterActivity:registerUser:唯一约束失败:用户。电子邮件(代码2067)
这就是我需要用户的部分。电子邮件因为如果电子邮件已经存在,这就是消息,如果是用户名,那就是用户。用户名,这就是我将如何知道其中哪一个已经存在。有没有机会从特例中只得到这个派对?我不想拆分字符串或类似的东西,也不想有多个select语句来检查电子邮件或用户名是否已经存在
这是addUser方法
@Override
public void addUser(User user) throws SQLiteException {
mDatabase.insertOrThrow(UserTable.NAME, null, getContentValues(user));
}
这是一个方法,该方法将调用addUser并处理异常
private boolean registerUser() {
try {
User user = new User(username, password, name, surname, address, email, phone);
UserProvider.getSingleton(getApplicationContext()).getUserProvider().addUser(user);
} catch (SQLiteException exception) {
return false;
}
return true;
}
共 (0) 个答案