Saturday, 21 January 2017

METADATA

Data about Data.
1. ResultSetMetaData
2. DatabaseMetaData
3. ParameterMetaData

MetaData is used to find run-time type information (RTTI).


ResultSetMetaData

How to get ResultSetMetaData object

ResultSet provide the following method-
ResultSetMetaData getMetaData() - Retrieves the number, types and properties of this ResultSet objects columns.


Methods of ResultSetMetaData object

1. int getColumnCount() - Returns the number of columns in this ResultSet object.
2. String getColumnName(int column) - Get the designated column's name.
3. String getColumnTypeName(int column) - Retrieves the designated column's database specific type name.


package Package1;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;
import java.util.Scanner;
public class Test28 {
public static void main(String[] args) throws ClassNotFoundException, SQLException {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "rakesh");
Scanner scan = new Scanner(System.in);
System.out.println("Input query");
String query=scan.nextLine();
PreparedStatement ps = con.prepareStatement(query);
ResultSet rs = ps.executeQuery();
ResultSetMetaData rsmd = rs.getMetaData();
int c=rsmd.getColumnCount();
for(int i=1;i<=c;i++)
{
System.out.println(rsmd.getColumnName(i)+" : "+rsmd.getColumnTypeName(i));
}
}
}

Output -
Input query
select * from emp
EMPNO : NUMBER
ENAME : VARCHAR2
JOB : VARCHAR2
MGR : NUMBER
HIREDATE : DATE
SAL : NUMBER
COMM : NUMBER
DEPTNO : NUMBER

No comments:

Post a Comment