我试图从一个MySQL表来读取和我做了以下值:Resultset.next返回true,但不会返回
protected void pushRegisteredStudentsData() {
try {
conn = (Connection) DriverManager.getConnection(DB_URL, USER, PASS);
stmt = conn.createStatement();
String userID = "SELECT * FROM STUDENT";
rs = stmt.executeQuery(userID);
while (rs.next()) {
int id = rs.getInt("ID");
this.studentID = id;
String insertSql = "INSERT INTO REGISTEREDSTUDENTS(StudentID, ModuleCode) VALUES ('" + studentID + "', + '"
+ this.moduleCode + "')";
System.out.println("Inserting into REGISTEREDSTUDENTS.. [" + id + "]" + "[" + this.moduleCode + "]");
stmt.executeUpdate(insertSql);
}
} catch (SQLException e) {
}
}
..但出于某种原因,
while (rs.next()) {
int id = rs.getInt("ID");
总是返回相同的ID,即使表有不同的 ID在每一行!
有没有人有一个想法,为什么这可能是? 提前谢谢! :(
编辑: 我使用的是单一的语句来执行更新2次,这是导致该问题
请直接粘贴代码。您是否尝试了'int id = Integer.parseInt(rs.getObject(1))' –
ID列是唯一的,这意味着可以在具有相同ID的Student表中有多个行吗? – DBug
不,因为我以为我不想通过绝对值获得对象,而是一行一行地阅读。@YassinHajaj – user3153278