ResultSet对象中的getTables方法参数有
getTables(String catalog,string schemapattern,String tablenamepattern,Strin[] type)
返回一个ResultSet对象,每行为一个表的描述,每行的类型和意义如下:
TABLE_CAT:String 类型,表的目录,可能为null;
catalog 字符串,目录名,""(空串)可以检索没有目录的表,null表示忽略目录;
schemapattern字符串,为大纲名称的匹配模式,""可以检索没有大纲的表
tablenamepattern字符串,为表名匹配模式;
type字符串,为需要检索的表类型列表,null 表示返回所有类型;
源代码:
import java.sql.*;
public class TestGetTable {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String url="jdbc:sqlserver://localhost:1433;DataBaseName=master";
try
{ String[] types={"TABLE"};//数组变量types
String tt,tp;
//连接数据库
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
Connection con = DriverManager.getConnection(url,"sa","ppp");//sa,ppp分别为数据库用户名和密码
System.out.println("ok!连接成功!!!!!");
System.out.println();
DatabaseMetaData dmd=con.getMetaData();
//获取表的相关信息(包括用户建立的表和系统表)
ResultSet rs=dmd.getTables(null,null,null,types);
/*
//获取表,视图相关信息(包括用户建立的表和系统表,以及所有视图)
ResultSet rs=dmd.getTables(null,null,null,null);
*/
while(rs.next())
{
tt=rs.getString("TABLE_NAME");
tp=rs.getString("TABLE_TYPE");
System.out.println(" 表的名称 "+tt+" 表的类型 "+tp);
}
//关闭连接
con.close();
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
}
}
}