ในการรับชื่อคอลัมน์ในชุดผลลัพธ์ คุณต้องใช้เมธอด getMetaData() ต้นแบบของ getMetadata() มีดังนี้ -
ResultSetMetaData getMetaData พ่น SQLException
สร้างตาราง MySQL ด้วยชื่อคอลัมน์ 5 ชื่อ แบบสอบถามเพื่อสร้างตารางมีดังนี้ −
mysql> สร้างตาราง jaavagetallcolumnnames -> ( -> Id int ไม่ใช่ NULL AUTO_INCREMENT, -> Name varchar(20), -> Age int, -> Salary float, -> Address varchar(100), -> PRIMARY KEY( Id) -> );แบบสอบถามตกลง 0 แถวได้รับผลกระทบ (1.34 วินาที)
ต่อไปนี้เป็นโค้ด Java ที่ได้รับชื่อคอลัมน์บน ResultSet รหัสมีดังต่อไปนี้ −
<ก่อนหน้า> นำเข้า java.sql.Connection นำเข้า java.sql.DriverManager นำเข้า java.sql.ResultSet นำเข้า java.sql.Statement นำเข้า com.mysql.jdbc.ResultSetMetaData คลาสสาธารณะ GetAllColumnNames { สแตติกโมฆะแบบสาธารณะ [] args) { สตริง JdbcURL="jdbc:mysql://localhost:3306/test?useSSL=false"; ชื่อผู้ใช้สตริง ="ราก"; รหัสผ่านสตริง ="123456"; การเชื่อมต่อ con=null; คำสั่ง stmt=null; ResultSet อาร์เอส; ลอง { con =DriverManager.getConnection (JdbcURL, ชื่อผู้ใช้, รหัสผ่าน); stmt=con.createStatement(); rs =stmt.executeQuery("เลือกจาก jaavagetallcolumnnames"); ResultSetMetaData md =(ResultSetMetaData) rs.getMetaData (); ตัวนับ int =md.getColumnCount(); สตริง colName[] =สตริงใหม่ [ตัวนับ]; System.out.println("ชื่อคอลัมน์มีดังนี้:"); สำหรับ (int loop =1; loop <=counter; loop ++) { colName [loop-1] =md.getColumnLabel (loop); System.out.println(colName[loop-1]); } } จับ (ข้อยกเว้น จ) { e.printStackTrace (); } }}นี่คือสแนปชอตของโค้ด -
ต่อไปนี้เป็นผลลัพธ์ -
ชื่อคอลัมน์มีดังนี้:IdNameAgeSalaryAddress
นี่คือสแน็ปช็อตของผลลัพธ์ตัวอย่าง -