ResultSetMetaData ให้ข้อมูลเกี่ยวกับ ResultSet object ที่ได้ เช่น จำนวนคอลัมน์, ชื่อคอลัมน์, ชนิดข้อมูล, ชื่อตาราง ฯลฯ
เมธอดสำคัญของ ResultSetMetaData:
| เมธอด | คำอธิบาย |
|---|---|
| getColumnCount() | ดึงจำนวนคอลัมน์ใน ResultSet ปัจจุบัน |
| getColumnLabel() | ดึงชื่อคอลัมน์ที่แนะนำสำหรับใช้แสดง |
| getColumnName() | ดึงชื่อคอลัมน์จริง |
| getTableName() | ดึงชื่อตาราง |
ตัวอย่าง
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.Statement;
public class ResultSetMetadataExample {
public static void main(String args[]) throws Exception {
DriverManager.registerDriver(new com.mysql.jdbc.Driver());
String mysqlUrl = "jdbc:mysql://localhost/TestDB";
Connection con = DriverManager.getConnection(mysqlUrl, "root", "password");
System.out.println("Connection established......");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("select * from Dataset");
ResultSetMetaData rsMetaData = rs.getMetaData();
// จำนวนคอลัมน์
System.out.println("Number of columns: " + rsMetaData.getColumnCount());
// Column label
System.out.println("Column Label: " + rsMetaData.getColumnLabel(1));
// Column name
System.out.println("Column Name: " + rsMetaData.getColumnName(1));
// Table name
System.out.println("Table Name: " + rsMetaData.getTableName(1));
}
}
ผลลัพธ์
Connection established...... Number of columns: 2 Column Label: mobile_brand Column Name: mobile_brand Table Name: dataset