try 块中。 try{ rsmd = results.getMetaData(); numCols = rsmd.getColumnCount(); boolean more = results.next(); while (more) { for (i = 1; i <= numCols; i++) System.out.print(results.getString(i)+" "); System.out.println(); more = results.next(); }results.close();}catch(Exception e) {System.out.println(e.getMessage());}您可以多种形式获取 ResultSet 中的数据,这取决于每个列中存储的数据类型。另外,您可以按列序号或列名获取列的内容。请注意,列序号从 1 开始,而不是从 0 开始。ResultSet 对象的一些最常用方法如下所示。
getInt(int); |
将序号为 int 的列的内容作为整数返回。 |
getInt(String); |
将名称为 String 的列的内容作为整数返回。 |
getFloat(int); |
将序号为 int 的列的内容作为一个 float 型数返回。 |
getFloat(String); |
将名称为 String 的列的内容作为 float 型数返回。 |
getDate(int); |
将序号为 int 的列的内容作为日期返回。 |
getDate(String); |
将名称为 String 的列的内容作为日期返回。 |
next(); |
将行指针移到下一行。如果没有剩余行,则返回 false。 |
close(); |
关闭结果集。 |
getMetaData(); |
返回 ResultSetMetaData 对象。 |
ResultSetMetaData
您使用 getMetaData() 方法从 ResultSet 中获取 ResultSetMetaData 对象。您可以使用此对象获得列的数目和类型以及每一列的名称。
getColumnCount(); |
返回 ResultSet 中的列数。 |
getColumnName(int); |
返回列序号为 int 的列名。 |
getColumnLabel(int); |
返回此列暗含的标签。 |
isCurrency(int); |
如果此列包含带有货币单位的一个数字,则返回 true。 |
isReadOnly(int); |
如果此列为只读,则返回 true。 |
isAutoIncrement(int); |
如果此列自动递增,则返回 true。这类列通常为键,而且始终是只读的。 |
getColumnType(int); |
返回此列的 SQL 数据类型。这些数据类型包括
BIGINT BINARY BIT CHAR DATE DECIMAL DOUBLE FLOAT INTEGER LONGVARBINARY LONGVARCHAR |
NULL NUMERIC OTHER REAL SMALLINT TIME TIMESTAMP TINYINT VARBINARY VARCHAR | |
DatabaseMetaData
DatabaseMetaData 对象可为您提供整个数据库的信息。您主要用它获取数据库中表的名称,以及表中列的名称。由于不同的数据库支持不同的 SQL 变体,因此,也有多种方法查询数据库支持哪些 SQL 方法。
getCatalogs() |
返回该数据库中的信息目录列表。使用 JDBC-ODBC Bridge 驱动程序,您可以获得用 ODBC 注册的数据库列表。这很少用于 JDBC-ODBC 数据库。 |
| getTables(catalog, schema, tableNames, columnNames) |
返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表的说明。 |
| getColumns(catalog, schema, tableNames, columnNames) |
返回表名与 tableNames 相符而且列名与 columnNames 相符的所有表列说明。 |
getURL(); |
获得您所连接的 URL 名称。 |
getDriverName(); |
获得您所连接的数据库驱动程序的名称。 |
获取有关表的信息
您可以使用 DataBaseMetaData 的 getTables() 方法来获取数据库中表的信息。这个方法有如下 4 个 String 参数: results = dma.getTables(catalog, schema, tablemask, types[]);9
7
3
1
2
3
4
5
6
7
8
4
8
: