จำนวนคอลัมน์ในชุดผลลัพธ์ที่คุณจะได้รับด้วยรหัส (เนื่องจาก DB ใช้ PostgreSQL):
// โหลดไดรเวอร์สำหรับ PostgreSQL
Class.forName ("org.postgresql.Driver");
สตริง url = "jdbc: postgresql: // localhost / test";
Properties props = คุณสมบัติใหม่ ();
props.setProperty ("ผู้ใช้", "mydbuser");
props.setProperty ("รหัสผ่าน", "mydbpass");
การเชื่อมต่อ = DriverManager.getConnection (url, props);
// สร้างคำสั่ง
Stat งบ = conn.createStatement ();
// รับชุดผลลัพธ์
ResultSet rs = stat.executeQuery ("SELECT c1, c2, c3, c4, c5 FROM MY_TABLE");
// จากชุดผลลัพธ์ให้ข้อมูลเมตา
ResultSetMetaData rsmd = rs.getMetaData ();
// คอลัมน์นับจากออบเจ็กต์ข้อมูลเมตา
int numOfCols = rsmd.getColumnCount ();
แต่คุณสามารถรับข้อมูลเมตาเพิ่มเติมเกี่ยวกับคอลัมน์:
for(int i = 1; i <= numOfCols; i++)
{
System.out.println(rsmd.getColumnName(i));
}
และอย่างน้อย แต่ไม่น้อยคุณจะได้รับข้อมูลบางอย่างไม่ได้เป็นเพียงเกี่ยวกับตาราง แต่ประมาณ DB เกินไปวิธีที่จะทำคุณสามารถหาได้ที่นี่และที่นี่
ResultSetMetaData
การใช้งานจัดการกับเร็กคอร์ด CSV ที่มีความยาวผันแปรได้อย่างไร เช่นหากคุณระบุSELECT * FROM sample
และแต่ละแถวมีจำนวนฟิลด์ที่แตกต่างกันจำนวนคอลัมน์จะได้รับการประเมินซ้ำสำหรับแต่ละแถวที่ทำซ้ำหรือไม่