我試圖將用戶輸入的值(學生ID)與mysql數據庫中的student_id值進行比較。我想讓用戶輸入一個學生ID並返回一個字符串「Is(student_name)是正確的學生?」 student_name來自數據庫。這是我迄今爲止所做的,signUp()是switch語句的一部分。我認爲問題來自user_entered_student_id變量。我試圖讓這是用戶輸入的id,但是當我嘗試運行該程序時,它表示該變量從不使用。任何想法都會有幫助!將用戶輸入的數據與SQL數據庫數據進行比較
static void signUp() {
System.out.println("\nSign Up For a Class\n");
try {
Scanner input = new Scanner(System.in);
System.out.println("Enter Student ID: ");
String user_entered_student_id = input.nextLine();
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/ClassSelector", "", "");
Statement myStmt = con.createStatement();
ResultSet rs;
rs = myStmt.executeQuery("SELECT student_name FROM ClassSelector.students WHERE student_id =" + user_entered_student_id");
while (rs.next()) {
String userEnterId = rs.getString("student_name");
System.out.println("Is " + userEnterId + " the correct student?");
String confirm = input.nextLine();
if(confirm == "Y"){
System.out.println("Enter ID From Classes Available: ");
System.out.println("SELECT * FROM ClassSelector.classes");
}
}
} catch (Exception exc) {
exc.printStackTrace();
}
}
使用'PreparedStatement'並通過您的參數。 –