Jumlah kolom dalam kumpulan hasil yang bisa Anda dapatkan dengan kode (karena DB digunakan PostgreSQL):
// muat driver untuk PostgreSQL
Class.forName ("org.postgresql.Driver");
String url = "jdbc: postgresql: // localhost / test";
Properti properti = properti baru ();
props.setProperty ("user", "mydbuser");
props.setProperty ("password", "mydbpass");
Sambungan koneksi = DriverManager.getConnection (url, props);
// buat pernyataan
Stat pernyataan = conn.createStatement ();
// dapatkan kumpulan hasil
ResultSet rs = stat.executeQuery ("PILIH c1, c2, c3, c4, c5 DARI MY_TABLE");
// dari kumpulan hasil berikan metadata
ResultSetMetaData rsmd = rs.getMetaData ();
// kolom dihitung dari objek metadata
int numOfCols = rsmd.getColumnCount ();
Tetapi Anda bisa mendapatkan lebih banyak informasi meta tentang kolom:
for(int i = 1; i <= numOfCols; i++)
{
System.out.println(rsmd.getColumnName(i));
}
Dan setidaknya tidak sedikit, Anda bisa mendapatkan beberapa info tidak hanya tentang tabel tetapi tentang DB juga, bagaimana melakukannya dapat Anda temukan di sini dan di sini .
ResultSetMetaData
implementasinya menangani catatan CSV dengan panjang variabel. mis. Jika Anda menentukanSELECT * FROM sample
dan setiap baris berisi jumlah bidang yang berbeda, apakah jumlah kolom akan dievaluasi ulang untuk setiap baris yang diiterasi?