Mega Code Archive

 
Categories / Java Tutorial / Database
 

Get the Column Names in a Result Set

Given a ResultSet object, it is possible to get the column name, column type, table name (from which table this column came from), and position. import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.Statement; public class Main {   public static void main(String[] args) throws Exception {     Connection conn = getConnection();     Statement st = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,         ResultSet.CONCUR_UPDATABLE);     st.executeUpdate("create table survey (id int,name varchar(30));");     st.executeUpdate("insert into survey (id,name ) values (1,'nameValue')");     st.executeUpdate("insert into survey (id,name ) values (2,null)");     st.executeUpdate("insert into survey (id,name ) values (3,'Tom')");     st = conn.createStatement();     ResultSet rs = st.executeQuery("SELECT * FROM survey");     ResultSetMetaData rsMetaData = rs.getMetaData();     int numberOfColumns = rsMetaData.getColumnCount();     // get the column names; column indexes start from 1     for (int i = 1; i < numberOfColumns + 1; i++) {       String columnName = rsMetaData.getColumnName(i);       String tableName = rsMetaData.getTableName(i);       System.out.println(columnName);       System.out.println(tableName);     }     rs.close();     st.close();     conn.close();   }   private static Connection getConnection() throws Exception {     Class.forName("org.hsqldb.jdbcDriver");     String url = "jdbc:hsqldb:mem:data/tutorial";     return DriverManager.getConnection(url, "sa", "");   } } ID SURVEY NAME SURVEY