使用 ResultSetMetaData 方法了解 ResultSet
您无法始终知道表或结果集中列的列数和数据类型。 特别是当您从远程数据源检索数据时尤其如此。
关于本任务
编写检索未知 ResultSet 的程序时,需要使用 ResultSetMetaData 方法来确定 ResultSet 的特征,然后才能从其中检索数据。
ResultSetMetaData 方法提供以下类型的信息:
- ResultSet 中的列数
- ResultSet 的底层表的限定符
- 有关列的信息,如数据类型、长度、精度、小数位和可空性
- 列是否为只读
过程
调用 executeQuery 方法为表上的查询生成 ResultSet 后,请遵循以下基本步骤来确定 ResultSet 的内容:
示例
String s;
Connection con;
Statement stmt;
ResultSet rs;
ResultSetMetaData rsmtadta;
int colCount
int mtadtaint;
int i;
String colName;
String colType;
…
stmt = con.createStatement(); // Create a Statement object
rs = stmt.executeQuery("SELECT * FROM EMPLOYEE");
// Get the ResultSet from the query
rsmtadta = rs.getMetaData(); // Create a ResultSetMetaData object 1
colCount = rsmtadta.getColumnCount(); 2
// Find number of columns in EMP
for (i=1; i<= colCount; i++) { 3
colName = rsmtadta.getColumnName(); // Get column name
colType = rsmtadta.getColumnTypeName();
// Get column data type
System.out.println("Column = " + colName +
" is data type " + colType);
// Print the column value
}