您的位置:首页 > 数据库

How to get table metadata without sql-statement invoking

2011-08-30 15:14 232 查看
You may use the connection and table name (and column name) to retrieve the meta-data information from the database.

E.g.

/**

* Get meta data of columns via table name

* @param conn database connection

* @param tablename

* @return

* @throws SQLException

*/

// private ResultSet getColumnMetaData(Connection conn, String tablename) throws SQLException

// {

// DatabaseMetaData dmeta = conn.getMetaData();

// return dmeta.getColumns(null, null, tablename, "%");

// }

/**

* Get the field type according to field name

*

* @param cMetaSet

* @param fieldname

* @return

* @throws SQLException

*/

// private int getFieldType(CachedRowSet cMetaSet, String fieldname) throws SQLException

// {

// ResultSet rs = cMetaSet.createCopyNoConstraints();

//

// while (rs.next())

// {

// if (fieldname.equalsIgnoreCase(rs.getString(4)))

// {

// return rs.getInt(5);

// }

// }

//

// throw new SQLException("Can not find the field in the target table : " + fieldname);

// }

/**

* Get the field type according to its index

*

* @param cMetaSet

* @param fldIndex

* @return

* @throws SQLException

*/

// private int getFieldType(CachedRowSet cMetaSet, int fldIndex) throws SQLException

// {

// int index = 0;

// ResultSet rs = cMetaSet.createCopyNoConstraints();

//

// while (rs.next())

// {

// if (fldIndex == index)

// {

// return rs.getInt(5);

// }

// index++;

// }

//

// throw new SQLException("Fields in sql statement is more than the target table");

// }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: