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[]);
其中参数的意义是:
Catalog 要在其中查找表名的目录名 。对于 JDBC-ODBC 数据库以及许多其他数据库而言,可将其设置为 null 。这些数据库的目录项实际上是它在文件系统中的绝对路径名称 。
Schema 要包括的数据库“方案” 。许多数据库不支持方案,而对另一些数据库而言 , 它代表数据库所有者的用户名 。一般将它设置为 null 。
Tablemask 一个掩码,用来描述您要检索的表的名称 。如果您希望检索所有表名 , 则将其设为通配符 % 。请注意,SQL 中的通配符是 % 符号,而不是一般 PC 用户的 * 符号 。
types[] 这是描述您要检索的表的类型的 String 数组 。数据库中通常包括许多用于内部处理的表,而对作为用户的您没什么价值 。如果它是空值,则您会得到所有这些表 。如果您将其设为包含字符串“TABLES”的单元素数组,您将仅获得对用户有用的表格 。
一个简单的 JDBC 程序
我们已经学习了 JDBC 的所有基本功能,现在我们可以编写一个简单的程序,该程序打开数据库,打印它的表名以及某一表列的内容,然后对该数据库执行查询 。此程序如下所示:
package skydevkit;
import java.sql.*;
public class JdbcOdbc_test {
ResultSet results;
ResultSetMetaData rsmd;
DatabaseMetaData dma;
Connection con;
public JdbcOdbc_test() throws SQLException {
String url = "jdbc:odbc:Northwind";
try {
//加载 JDBC-ODBC 桥驱动程序
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(url);//连接数据库
dma = con.getMetaData();//获取数据库的元数据
System.out.println("Connected to:" + dma.getURL());
推荐阅读
- apimfc和net类库的区别,net api
- 金河田电脑怎么调整硬盘,金河田电脑装系统教程
- 飞行梦想家游戏,飞行梦想家游戏怎么玩
- 直播平台java源代码 直播系统源代码
- Aix7.1编译Redis,编译redis报错
- postgresql时间截取的简单介绍
- vbnet下载 vbnet怎么打开
- 实时查看mysql查询日志的简单介绍
- 腾讯好的角色扮演游戏,腾讯好的角色扮演游戏叫什么