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 に答える