রেজাল্ট সেটে কলাম নাম পেতে getMetaData() মেথড ব্যবহার করতে হয়। getMetadata()-র প্রোটোটাইপ নিচে দেওয়া হলো:
ResultSetMetaData getMetaData throws SQLException;
৫টি কলাম নামসহ একটি MySQL টেবিল তৈরি করা যাক। টেবিল তৈরির কোয়েরি:
mysql> create table javagetallcolumnnames
-> (
-> Id int NOT NULL AUTO_INCREMENT,
-> Name varchar(20),
-> Age int,
-> Salary float,
-> Address varchar(100),
-> PRIMARY KEY(Id)
-> ); Query OK, 0 rows affected (1.34 sec)
রেজাল্ট সেটে কলাম নাম পাওয়ার জাভা কোড নিচে দেওয়া হলো। কোডটি হলো:
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; 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"; Connection con=null; Statement stmt=null; ResultSet rs; try { con = DriverManager.getConnection(JdbcURL, Username, password); stmt=con.createStatement(); rs = stmt.executeQuery("SELECT *FROM javagetallcolumnnames"); ResultSetMetaData md = (ResultSetMetaData) rs.getMetaData(); int counter = md.getColumnCount(); String colName[] = new String[counter]; System.out.println("The column names are as follows:"); for (int loop = 1; loop <= counter; loop++) { colName[loop-1] = md.getColumnLabel(loop); System.out.println(colName[loop-1]); } } catch(Exception e) { e.printStackTrace(); } } }
কোডের স্ন্যাপশট নিচে দেওয়া হলো:

আউটপুট নিচে দেওয়া হলো:
The column names are as follows: Id Name Age Salary Address
স্যাম্পল আউটপুটের স্ন্যাপশট নিচে দেওয়া হলো:

ব্যাখ্যা: JDBC-এ ResultSet.getMetaData() দিয়ে ResultSetMetaData অবজেক্ট পাওয়া যায়। এর getColumnCount() দিয়ে কলাম সংখ্যা, এবং getColumnLabel(i) বা getColumnName(i) দিয়ে প্রতিটি কলামের নাম (১-ভিত্তিক ইন্ডেক্স) পাওয়া যায়। এটি রানটাইমে টেবিল স্কিমা ডাইনামিকলি জানতে বা জেনেরিক কোড লিখতে খুব কাজে লাগে।