1
我在嘗試更新某些信息時遇到錯誤。錯誤如下:爲什麼它爲第二個查詢拋出異常?
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at com.app.dao.RolesDAO.getUserRoleByUserID(RolesDAO.java:42)
at com.app.business.UserRolesBusiness.updateInformation(UserRolesBusiness.java:21)
at com.app.business.UserRolesBusiness.main(UserRolesBusiness.java:29)
調試後,我看到業務層正常工作以檢索用戶ID。但它後來未能更新信息。我的代碼執行是這樣的:
業務層實現:
public void updateInformation(String userName, String roleName) {
Users user = dao1.getUserInfo(userName);
String userIDString = Integer.toString(...);
Roles updateRole = dao2.getUserRoleByUserID(userIDString);
updateRole.setRole(roleName);
r.updateRole(updateRole);
}
DAO層的實現:
getUserInfo方法:
.....
user = ... query.list().get(0);
....
getUserRoleByUserID方法:
....
role = ... query.list().get(0);
....
拋出異常「IndexOutOfBoundsException」的原因是什麼以及如何解決問題。它成功執行第一個查詢但不執行第二個查詢。任何建議?