第一步,获取access所有表名 :
1.
List list = new ArrayList();
DatabaseMetaData dbmd=Conn.getMetaData();
ResultSet rs=dbmd.getTables(null,null,"%",new String[]{"SYNONYM","TABLE"});
while(rs.next()){
String tableName=rs.getString(3);
}
getTables(String catalog,
String schemaPattern,
String tableNamePattern,
String[] types)
参数:
catalog - 类别名称;它必须与存储在数据库中的类别名称匹配;该参数为 "" 表示获取没有类别的那些描述;为 null 则表示该类别名称不应该用于缩小搜索范围
schemaPattern - 模式名称的模式;它必须与存储在数据库中的模式名称匹配;该参数为 "" 表示获取没有模式的那些描述;为 null 则表示该模式名称不应该用于缩小搜索范围
tableNamePattern - 表名称模式;它必须与存储在数据库中的表名称匹配
types - 要包括的表类型所组成的列表,必须取自从 getTableTypes() 返回的表类型列表;null 表示返回所有类型
2.获取Oracle所有表名称:
List list = new ArrayList();
DatabaseMetaData dbmd=Conn.getMetaData();
ResultSet rs=dbmd.getTables(null,userName,"%",new String[]{"TABLE"});
while(rs.next()){
String tableName=rs.getString(3);
}
区别就在于(红色标记的部分)。
userName 改数据库的用户名。
第二步,获取某一个表的列名:
DatabaseMetaData dbmt = conn.getMetaData();
ResultSet columnSet = dbmt.getColumns(null, "%", tableName, "%");//oracle
ResultSet columnSet = dbmt.getColumns(null,null, tableName, "%");//access
while(rs.next()){
String columnName = columnSet.getString("COLUMN_NAME");//字段名称(列名)
String fidld_type =columnSet.getString("TYPE_NAME");//字段类型
}
//获得所有列的数目及实际列数
int columnCount=data.getColumnCount();
//获得指定列的列名
String columnName = data.getColumnName(i);
//获得指定列的列值
String columnValue = rs.getString(i);
//获得指定列的数据类型
int columnType=data.getColumnType(i);
//获得指定列的数据类型名
String columnTypeName=data.getColumnTypeName(i);
//所在的Catalog名字
String catalogName=data.getCatalogName(i);
//对应数据类型的类
String columnClassName=data.getColumnClassName(i);
//在数据库中类型的最大字符个数
int columnDisplaySize=data.getColumnDisplaySize(i);
//默认的列的标题
String columnLabel=data.getColumnLabel(i);
//获得列的模式
String schemaName=data.getSchemaName(i);
//某列类型的精确度(类型的长度)
可以去参考Java API文档有详细的介绍。