gpt4 book ai didi

java - Java/MySQL 中的 if/else 语句

转载 作者:行者123 更新时间:2023-11-29 11:41:10 25 4
gpt4 key购买 nike

我尝试创建一个函数,您输入保存在 MySQL 数据库中的 Student_id(“student_id”),您将看到学生姓名以及他们注册的类(class)。我在使用 if/else 语句时遇到问题, 尽管。如果输入的student_id在数据库中,它就可以工作,但是如果你输入的ID不在数据库中,它就不会打印出我想要的错误消息;它只是返回到菜单。

System.out.println("\nStudent Enrollment\n");
try {
Scanner input = new Scanner(System.in);
System.out.println("Enter Student ID to See What Classes they are enrolled in: ");
String user_entered_student_id = input.nextLine();

Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ClassSelector?autoReconnect=true&useSSL=false", "", "");
Statement myStmt = con.createStatement();

ResultSet rs;
rs = myStmt.executeQuery("SELECT student_id, student_name, class_id, classname FROM ClassSelector.student_x_class WHERE student_id = " + user_entered_student_id);
while(rs.next()){
String studentInClass = (rs.getString("student_id") + "\t" + rs.getString("student_name") + " " + rs.getString("class_id") + " " + rs.getString("classname"));
if(!user_entered_student_id.equals("ClassSelector.students.student_id")){
System.out.println(studentInClass);
}
else{
System.out.println("This Student does not Exist!");
}
}
}

最佳答案

您的逻辑位于 while 循环中,该循环永远不会在不存在行的情况下输入。

尝试

 boolean found = false;
while(rs.next()){
if(!user_entered_student_id.equals("ClassSelector.students.student_id")){
System.out.println(studentInClass);
found = true;
break; // ?? Is this unique?
}
}

if (!found) {
System.out.println("This Student does not Exist!");
return false; // ???
}
return true; // ???

当然,如果您只查找一条​​唯一记录,那么您可以使用 if 而不是 while

关于java - Java/MySQL 中的 if/else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35760783/

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