2

大家好,我正在制作一个访问 MySQL 和 MsSQL 数据库的应用程序,这些数据库会摆弄它们,并根据它访问的数据库打印出表,而执行此操作的代码部分是这样的:

Connection con = DriverManager.getConnection(dbUrl, userName,password);
Statement stmt = con.createStatement();
ResultSet rs;

if (driverCN.startsWith("com.mysql")) {       // For MySQL.
rs = stmt.executeQuery("Show Tables");
    } else {                                  // For MsSQL
rs = stmt.executeQuery("??????");
        }
// Displays the remaining Database tables.
       System.out.println("\nThese are the remaining Database Tables:\n");
        while (rs.next()) {
            String db = rs.getString(1);
            System.out.println(db);
        }

现在我想知道的是,我如何使这项工作也适用于 MsSQL,我执行什么样的查询,结果是否会传递到我的结果集中?(这非常适用于 MySQL 数据库,我只是还没有 MsSQL 数据库来测试它。提前谢谢你!

4

2 回答 2

3

SQL Server 2005 或 2008:

SELECT * FROM information_schema.tables

SQL Server 2000:

SELECT * FROM sysobjects WHERE xtype='U'
于 2012-09-04T09:16:57.250 回答
1

尝试 :

select name from sys.tables where type='u'
于 2012-09-04T09:18:14.517 回答