我試圖從一個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