gpt4 book ai didi

java - 以这种方式处理异常以在用户名重复时返回消息

转载 作者:行者123 更新时间:2023-11-30 21:42:32 25 4
gpt4 key购买 nike

当用户名在我的数据库中重复时,我试图返回一条错误消息,用户名在数据库中设置为唯一。我正在为数据库(基本上是 mysql)使用 phpmyadmin

错误告诉我我需要“创建costant SQLErrorCode”。我关注了this在某种程度上。我想不通。我错过了进口吗? getResultCode 是 SQLite 的吗?

更新:

`exceptie.getErrorCode() == SQLError.SQL_CONSTRAINT_UNIQUE` Changed `getResultCode` to `GetErrorCode()` and changed `SQLErrorCode` to `SQLError`

当我运行代码时,它说 Caused by: java.lang.Error: Unresolved compilation problem: SQL_CONSTRAINT_UNIQUE cannot be resolved or is not a field

第一次尝试:

catch (SQLException exceptie) {
if (exceptie.getResultCode() == SQLErrorCode.SQL_CONSTRAINT_UNIQUE) {
System.out.println("Numele de utilizator introdus este deja folosit!");
} else {
exceptie.printStackTrace();
}
}

P.S 基本上我在数据库中将用户名设置为唯一,当引入数据库中已存在的用户名时,我想使用该错误返回一条消息,通知用户该用户名已经存在使用。

最佳答案

ER_DUP_ENTRY为MySQL Error Name对应JDBC处理重复项的MySQL Error Number。因此,尝试使用 getErrorCode() 从异常中获取错误代码,并将其与定义的错误编号匹配,如下所示:

catch (SQLException exceptie) {
if (exceptie.getErrorCode() == MysqlErrorNumbers.ER_DUP_ENTRY) {
System.out.println("Numele de utilizator introdus este deja folosit!");
} else {
exceptie.printStackTrace();
}
}

关于java - 以这种方式处理异常以在用户名重复时返回消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50925929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com