JDBC通过ResultSetMetaData读取查询结果结构

有时需要对Select的查询结果判断其结构,这时有可能就要用ResultSetMetaData。我之前做一个系统,要判断Access查询结果的型号,如果型号不对就返回异常。之后虽然改成用DatabaseMetaData检索了,但我觉得用ResultSetMetaData的方法也应该记下来,以后可能用到。

ResultSetMetaData的使用方法是先用Select查询出结果,用ResultSet.getMetaData()方法取得ResultSetMetaData对象。ResultSetMetaData对象的方法如下(只列了一部分,详细的可以看JDK文档

方法 => 说明
getColumnLabel => 列名
getColumnTypeName => 列型名

测试代码如下:

Java
public static void getAllCol(Connection conn) throws SQLException {
	PreparedStatement stmt = conn.prepareStatement("select * from T_BAT_DATE_ADMIN");
	ResultSet selectResult = stmt.executeQuery();
	ResultSetMetaData metaData = selectResult.getMetaData();

	for (int i = 1; i <= metaData.getColumnCount(); i++) {
		System.out.println("Column Label:" + metaData.getColumnLabel(i));
		System.out.println("Column Name:" + metaData.getColumnName(i));
		System.out.println("Column Type:" + metaData.getColumnType(i));
		System.out.println("Column Type Name:" + metaData.getColumnTypeName(i));
		System.out.println("Column Display Size:" + metaData.getColumnDisplaySize(i));
		System.out.println("Column Class Name:" + metaData.getColumnClassName(i));
	}

	stmt.close();
}

转载请注明:宇托的狗窝 » JDBC通过ResultSetMetaData读取查询结果结构

发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址