Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะนำทางผ่าน ResultSet โดยใช้โปรแกรม JDBC ได้อย่างไร


ถัดไป() เมธอดของอินเทอร์เฟซ ResultSet จะย้ายตัวชี้/เคอร์เซอร์ของออบเจ็กต์ ResultSet ปัจจุบันไปยังแถวถัดไปจากตำแหน่งปัจจุบัน เมธอดนี้คืนค่าบูลีน หากไม่มีแถวถัดจากตำแหน่งปัจจุบัน วิธีการนี้จะคืนค่าเท็จ มิฉะนั้นจะคืนค่าเป็น จริง

ดังนั้น เมื่อใช้วิธีนี้ในลูป while คุณสามารถวนซ้ำเนื้อหาของออบเจกต์ ResultSet

while(rs.next()){
}

รับค่าคอลัมน์ของแต่ละระเบียน

ชุดผลลัพธ์ ส่วนต่อประสาน (ยัง) จัดเตรียมเมธอด getter (getXXX()) เพื่อดึงค่าในแต่ละคอลัมน์ของแถว แต่ละเมธอด getter มีสองตัวแปร:

  • getXXX(int columnIndex): ยอมรับค่าจำนวนเต็มที่แทนดัชนีของคอลัมน์และส่งกลับค่าของคอลัมน์

  • getXXX(String columnLabel ): ยอมรับค่าสตริงที่แสดงชื่อของคอลัมน์และส่งกลับค่า

คุณต้องใช้วิธี getter ตามลำดับตามประเภทข้อมูลของคอลัมน์ในตาราง

while(rs.next()) {
   System.out.print("Brand: "+rs.getString("Column_Name")+", ");
   System.out.print("Sale: "+rs.getString("Column_Name "));
   ………………………
   ………………………
   System.out.println("");
}

ในทำนองเดียวกัน ถ้าเป็นออบเจ็กต์ ResultSet แบบสองทิศทาง คุณสามารถย้อนกลับโดยใช้ previous() วิธีการ

เนื่องจากตัวชี้ของวัตถุ ResultSet อยู่ในตำแหน่งก่อนแถวที่ 1 โดยค่าเริ่มต้น ในการย้อนกลับ คุณต้องเลื่อนตัวชี้/เคอร์เซอร์ไปที่แถวถัดไปหลังจากแถวสุดท้าย และย้อนกลับเป็น:

rs.afterLast();

System.out.println("Contents of the table");
while(rs.previous()) {
   System.out.print("Brand: "+rs.getString("Mobile_Brand")+", ");
   System.out.print("Sale: "+rs.getString("Unit_Sale"));
   System.out.println("");
}