数据库名,可以从 系统表sysdatabases 里获得。

解决方案 »

  1.   

    补充: master库里的sysdatabases表
      

  2.   

    谢谢trumplet大哥:),果然显示了能显示库名了:)
      

  3.   

    补充问题:如何显示 master库里的sysdatabases表中记录的“用户的”数据库的库名呢?
      

  4.   

    以sa身份登录,然后:select * from master.dbo.sysdatabases
      

  5.   

    请问大侠:我的补充问题是:
    sysdatabases表里包括系统表的表名和用户建的表的表名。如何只显示用户建立的表的表名?
      

  6.   

    补充问题:如何显示 master库里的sysdatabases表中记录的“用户的”数据库的库名呢?
    请问大侠:我的补充问题是:
    sysdatabases表里包括系统表的表名和用户建的表的表名。如何只显示用户建立的表的表名?你补充了"2"个问题1. sql server 中除了master ,pub,Northwind 三个是系统的(后两个用户也能用),还有别的"用户的" 库吗>2. sysdatabases表里面放的都是 dababase 的名字 ,没用用户建立表的名字
       sysobjects 里面放的系统表和用户表的名字
       where  type  ='U'  是用户表。3. 在web页面上把数据库名暴露出来你觉得很安全吗,尤其还把sysdatabases这样的表暴露出来,
       这可是master在库上啊!一般master 别人是看都看不到的.
      

  7.   

    冷月无声大侠:首先谢谢大侠的详细解释。我补充的“2”个问题中是问的一个问题。第二次是敲错了:(重新补充一遍:sysdatabases表里包括系统库的库名和用户建的数据库的库名。如何只显示用户建立的数据库的库名?我们要作的是一个数据展示平台,首先让用户选择要连接的数据库的库名。所以是必须让别人看到数据库的库名。
      

  8.   

    解決思路:使用DatabaseMetaData類的getTables()方法,可以取得數據庫的所有表名~
    然后循環這些表名,使用ResultSet的getColumns()取得每個表的列名,然后數據也就可以取到了