Data about data is known as metadata. Metadata can be obtained at two levels, they are user database details and universal database details.
Obtaining user database details:
In order to obtain user database details we must follow the following procedure:
ResultSet.
For example:
ResultSetMetaData rsmd=rs.getMetaData ();
public int getColumnCount (); public String getColumnName (); public String getColumnLabel (); public String getColumnType ();
Obtaining universal database details:
When we get a connection from the database we can come to know which database we are using. To obtain information about universal database we must use the following steps:
For example:
DatabaseMetaData dmd=con.getMetaData ();
public String getDatabaseProductName (); public String getDatabaseProductVersion (); public String getDriverName (); public String getDriverVersion (); public String getDriverMajorVersion (); public String getDriverMinorVersion ();
Write a java program which illustrates the concept of DatabaseMetaData and ResultSetMetaData?
Answer:
import java.sql.*; class MetaData { public static void main(String[] args) { try { DriverManager.registerDriver(new Sun.jdbc.odbc.JdbcOdbcDriver()); System.out.println("DRIVERS LOADED..."); Connection con = DriverManager.getConnection("jdbc : odbc : oradsn", "scott", "tiger"); System.out.println("CONNECTION ESTABLISHED..."); // UNIVERSAL DATABASE DETAILS DatabaseMetaData dmd = con.getMetaData(); System.out.println("DATABASE NAME : " + dmd.getDatabaseProductName()); System.out.println("DATABASE VERSION : " + dmd.getDatabaseProductVersion()); System.out.println("NAME OF THE DRIVER : " + dmd.getDriverName()); System.out.println("VERSION OF THE DRIVER : " + dmd.getDriverVersion()); System.out.println("MAJOR VERSION OF DRIVER : " + dmd.getDriverMajorVersion()); System.out.println("MINOR VERSION OF DRIVER : " + dmd.getDriverMinorVersion()); // USER DATABASE DETAILS Statement st = con.createStatement(); ResultSet rs = st.executeQuery("select * from dept"); ResultSetMetaData rsmd = rs.getMetaData(); System.out.println("NUMBER OF COLUMNS : " + rsmd.getColumnCount()); for (int i = 1; i <= rsmd.getColumnCount(); i++) { System.out.println("NAME OF THE COLUMN : " + rsmd.getColumnName(i)); System.out.println("TYPE OF THE COLUMN : " + rsmd.getColumnType(i)); } con.close(); } catch (Exception e) { e.printStackTrace(); } }// main };// MetaData
Write a java program which points the data of a table along with its column names?
Answer:
import java.sql.*; class Table { public static void main(String[] args) { try { DriverManager.registerDriver(new Sun.jdbc.odbc.JdbcOdbcDriver()); System.out.println("DRIVERS LOADED..."); Connection con = DriverManager.getConnection("jdbc:odbc:oradsn", "scott", "tiger"); System.out.println("CONNECTION ESTABLISHED..."); Statement st = con.createStatement(); ResultSet rs = st.executeQuery("select * from dept"); ResultSetMetaData rsmd = rs.getMetaData(); System.out.println("=================================================="); // PRINTING COLUMN NAME for (int i = 1; i <= rsmd.getColumnCount(); i++) { System.out.print(rsmd.getColumnName(i) + " "); } System.out.println(""); System.out.println("=================================================="); // PRINTING THE DATA OF THE TABLE while (rs.next()) { for (int j = 1; j <= rsmd.getColumnCount(); j++) { System.out.print(rs.getString(j) + " "); } System.out.println(""); } con.close(); } catch (SQLException sqle) { sqle.printStackTrace(); } }// main };// Table