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

ดึงชื่อคอลัมน์จาก ResultSet ใน Java กับ MySQL


ใช้เมธอด getMetaData() ของ ResultSet เพื่อดึงข้อมูลเมตา รวมถึงชื่อคอลัมน์

Prototype

ResultSetMetaData getMetaData() throws SQLException;

ตัวอย่างโค้ด Java

import java.sql.*;
import com.mysql.jdbc.ResultSetMetaData;

public class GetAllColumnNames {
    public static void main(String[] args) {
        String jdbcURL = "jdbc:mysql://localhost:3306/test?useSSL=false";
        String username = "root";
        String password = "123456";
        
        try (Connection con = DriverManager.getConnection(jdbcURL, username, password);
             Statement stmt = con.createStatement();
             ResultSet rs = stmt.executeQuery("SELECT * FROM javagetallcolumnnames")) {
            
            ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData();
            int columnCount = md.getColumnCount();
            String[] colNames = new String[columnCount];
            
            System.out.println("The column names are as follows:");
            for (int i = 1; i <= columnCount; i++) {
                colNames[i-1] = md.getColumnLabel(i);
                System.out.println(colNames[i-1]);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

สร้างตารางทดสอบ 5 คอลัมน์:

mysql> CREATE TABLE javagetallcolumnnames ( Id INT NOT NULL AUTO_INCREMENT, Name VARCHAR(20), Age INT, Salary FLOAT, Address VARCHAR(100), PRIMARY KEY(Id) );

ผลลัพธ์การรัน:

The column names are as follows: Id Name Age Salary Address

หมายเหตุ: ใช้ getColumnLabel() เพื่อได้ชื่ออlias (ถ้ามี) หรือ getColumnName() สำหรับชื่อคอลัมน์จริง