ชุดผลลัพธ์ อินเทอร์เฟซใน JDBC แสดงถึงข้อมูลแบบตารางที่สร้างโดยแบบสอบถาม SQL มีเคอร์เซอร์ที่ชี้ไปที่แถวปัจจุบัน เริ่มแรก เคอร์เซอร์นี้อยู่ก่อนแถวแรก
การเลื่อนตัวชี้ไปตลอดทั้งชุดผลลัพธ์
ถัดไป() วิธีการของอินเทอร์เฟซ ResultSet ย้ายตัวชี้ของวัตถุปัจจุบัน (ResultSet) ไปยังแถวถัดไป จากตำแหน่งปัจจุบัน เมธอดนี้คืนค่าบูลีน หากไม่มีแถวถัดจากตำแหน่งปัจจุบัน จะส่งคืนค่าเท็จ มิฉะนั้นจะคืนค่าเป็น จริง ดังนั้น เมื่อใช้วิธีนี้ในลูป while คุณสามารถวนซ้ำเนื้อหาของชุดผลลัพธ์ได้
ในขณะที่(rs.next()){}
การรับค่าคอลัมน์ของแต่ละระเบียน:
อินเทอร์เฟซ ResultSet (ด้วย) มีเมธอด getter (getXXX()) เพื่อดึงค่าในแต่ละคอลัมน์ของแถว ทุกเมธอดของ getter มีสองแบบ:
-
getXXX(int columnIndex): ค่านี้จะยอมรับค่าจำนวนเต็มที่แสดงดัชนีของคอลัมน์และส่งกลับค่าของคอลัมน์นั้น
-
getXXX(String columnLabel ): ค่านี้ยอมรับค่า String ที่แสดงชื่อของคอลัมน์และส่งกลับค่า
คุณต้องใช้วิธี getter ตามลำดับตามประเภทข้อมูลของคอลัมน์ในตาราง
ตัวอย่าง
สมมติว่าเรามีตารางชื่อชุดข้อมูลที่มีเนื้อหาดังแสดงด้านล่าง:
<ก่อนหน้า>+-------------+-----------+| mobile_brand | unit_sale |+-------------+-----------+| Iphone | 3000 || ซัมซุง | 4000 || Nokia | 5000 || Vivo | 1500 || Oppo | 900 || MI | 6400 || MotoG | 4360 || Lenovo | 4100 || RedMi | 4000 || MotoG | 4360 || OnePlus | 6334 |+-------------+-----------+ตัวอย่าง
ตัวอย่างต่อไปนี้ดึงบันทึกทั้งหมดของ ชุดข้อมูล ตารางและพิมพ์ผลลัพธ์:
<ก่อนหน้า> นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager นำเข้า java.sql.ResultSet นำเข้า java.sql.Statement คลาสสาธารณะ RetrievingData { โมฆะคงที่สาธารณะหลัก (สตริง args []) พ่นข้อยกเว้น { // การลงทะเบียนไดร์เวอร์ DriverManager.registerDriver(new com.mysql.jdbc.Driver()); //รับการเชื่อมต่อสตริง mysqlUrl ="jdbc:mysql://localhost/TestDB"; การเชื่อมต่อ con =DriverManager.getConnection (mysqlUrl, "root", "password"); System.out.println("การเชื่อมต่อสำเร็จ......"); //สร้างคำสั่งวัตถุงบ stmt =con.createStatement(); //ดึงข้อมูล ResultSet rs =stmt.executeQuery("select * from Dataset"); System.out.println("เนื้อหาของตาราง"); while(rs.next()) { System.out.print("ยี่ห้อ:"+rs.getString("Mobile_Brand")+", "); System.out.print("ลดราคา:"+rs.getString("Unit_Sale")); System.out.println(""); } }}ผลลัพธ์
เชื่อมต่อแล้ว......เนื้อหาของตารางยี่ห้อ:Iphone, ขาย:3000ยี่ห้อ:Samsung, ขาย:4000ยี่ห้อ:Nokia, ขาย:5000ยี่ห้อ:Vivo, ขาย:1500ยี่ห้อ:Oppo, ขาย:900ยี่ห้อ:MI, ขาย:6400ยี่ห้อ:MotoG ขาย:4360ยี่ห้อ:Lenovo ขาย:4100ยี่ห้อ:RedMi ขาย:4000ยี่ห้อ:MotoG ขาย:4360ยี่ห้อ:OnePlus ขาย:6334