使用OracleResultSetMetaData获得表信息
在执行 SQL 查询时,通过调用 ResultSet 对象中的 getMetaData() 方法可以获得 ResultSetMetaData
对象。返回的 ResultSetMetaData 对象可以转换类型以获取 OracleResultSetMetaData
对象。以下代码显示如何使用 OracleResultSetMetaData。 import java.sql.*; import oracle.jdbc.OracleResultSetMetaData; public class OracleResultSetMetaDataSample { static final String dbURI = "jdbc:oracle:thin:@<hostname>:<port>:<SID>"; public static void main(String[] args) throws Exception{ // Connection reference Connection conn = null; try { // Load database driver DriverManager.registerDriver (new oracle.jdbc.OracleDriver()); // Make connection conn = DriverManager.getConnection(dbURI,"scott","tiger"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * from emp"); // Get the ResultSet meta data OracleResultSetMetaData rmd = (OracleResultSetMetaData)rs.getMetaData(); if (rmd == null) { System.out.println("ResultSet meta data not available"); } else { int columnCount = rmd.getColumnCount(); // Display number of Columns in the ResultSet System.out.println("Number of Columns in the table :" + columnCount); for(int i=1; i<=columnCount; i++) { // Display number of Column name System.out.print("Column Name :"+ rmd.getColumnName(i)); // Display number of Column Type System.out.print(" Column Type :"+ rmd.getColumnTypeName(i)); // Display if Column can be NOT NULL switch (rmd.isNullable(i)) { case OracleResultSetMetaData.columnNoNulls : System.out.println(" NOT NULL"); break; case OracleResultSetMetaData.columnNullable : System.out.println(" NULLABLE"); break; case OracleResultSetMetaData.columnNullableUnknown : System.out.println(" NULLABLE Unkown"); } } } } finally { // Close connection if (conn != null) { try { conn.close(); } catch (SQLException ex) { System.out.println("Error in closing Conection"); } } } } } 在获得 OracleResultSetMetaData 对象后,可以使用其中的方法以获取关于 ResultSet 中列的详细信息。OracleResultSetMetaData 中的 所有方法返回 boolean、int 或 String。 getColumnCount() 方法将 ResultSet 中列的数量以 int 返回。 getColumnName() 方法将列名以 String 返回。 getColumnTypeName() 方法将列类型以 String 返回。 isNullable() 方法在列允许为 NULL 时返回。此方法返回一个 int,它可以是下列常数中的任一项: columnNoNulls — 表示列值不允许为 NULL columnNullable — 表示列值允许为 NULL columnNullableUnknown — 表示列值是否允许为空是未知状态 注意:OracleResultSetMetaData 接口不实现 getSchemaName() 和 getTableName() 方法,因为底层协议不允许进行此操作。 转载至程式先锋技术维客www.javabiz.cn 本文出自 51CTO.COM技术博客 |


gongqikui
博客统计信息
热门文章
最新评论
友情链接