【发布时间】:2021-09-12 06:21:46
【问题描述】:
所以我正在处理我的项目,我想通过它传递更改并更新一行中的两列。
我询问了用户的意见
System.out.println("Which one of the reviews you would like to change?");
List<Student> studentList = studentDao.getStudentRatings();
for (Student students : studentList) {
System.out.println(students);
}
System.out.println("Enter your student ID");
int student_idnumber = input.nextInt();
input.nextLine();
System.out.println("Enter your first name");
String firstname = input.nextLine();
System.out.println("Enter your last name");
String lastname = input.nextLine();
System.out.println("Enter your new rating");
int student_ratingnumber = input.nextInt();
input.nextLine();
System.out.println("Enter your new comments");
String comment = input.nextLine();
studentDao.changeReview(student_idnumber, firstname,lastname, student_ratingnumber,comment);
然后我将这些传递给我的 studentDao
public void changeReview(int student_idnumber, String firstname, String lastname, int student_ratingnumber,
String comment) {
try(Connection connection = ConnectionUtil.getConnection()){
String sqlString = "UPDATE student_things SET student_comments = ? , student_rating = ? where student_id = ?;";
PreparedStatement preparedStatement = connection.prepareStatement(sqlString);
preparedStatement.setInt(1, student_idnumber);
preparedStatement.setString(2, firstname);
preparedStatement.setString(3, lastname);
preparedStatement.setString(5, comment);
preparedStatement.setInt(6, student_ratingnumber);
preparedStatement.executeUpdate();
System.out.println("Review was updated");
}
catch (SQLException e) {
System.out.println("Change review failed");
}
但是它每次都会失败,因为它不会更新表。我尝试在 postgres 中运行相同的命令并且命令有效,我尝试更改准备好的语句的参数。不知道我做错了什么。
【问题讨论】:
标签: java sql postgresql jdbc