局域网中有一个SQL服务器,怎样用VB列出服务器中所有的数据库?

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3273/3273117.xml?temp=.1505854
      

  2.   

    错了错了,不是列出数据库中的表名,而是列出SQL服务器中所有的数据库名
      

  3.   

    sorry.建议去搜索一下以前的贴子,相信你会有所收获的.
      

  4.   

    http://community.csdn.net/Expert/topic/3292/3292298.xml?temp=.9990961这回应该没错了.
      

  5.   

    出自:http://www.china-askpro.com/msg30/qa43.shtml如何获得SQL服务器所管理的所有数据库名编号:QA002943
    建立日期: 2000年5月16日 最后修改日期:2001年7月9日 
    所属类别: Visual Basic - 数据库 彭晓刚: 
        操作系统:windows98 
        编程工具:vb6.0 
        问题:我用VB的ADO方式访问SQL数据库,请问怎样动态的连接数据库,既给出服务器名和用户名,密码,程序能给出SQL服务器所管理的所有数据库,让我动态的连接。现在我连接时,数据库名由我给出。因此,也无法创建新的SQL数据库,而只能建表.望指点,谢谢,非常。 
        水平: 刚入门 回答:     调用系统存储过程sp_helpdb,VB例程(DAO) 
         Dim r As Recordset,db As Database,wks as Workspace 
         Set wks = DBEngine.CreateWorkspace("myWks", "Admin", "", dbUseODBC) 
         Set Db = wks.OpenDatabase("", dbDriverNoPrompt, 0, "ODBC;SERVER=MYSERVER;DRIVER={SQL SERVER};DSN='';UID=sa;DATABASE=master;PWD=;") 
         Set r = db.OpenRecordset("sp_helpdb") 
         Do While Not r.EOF 
         debug.print r!Name 
         r.MoveNext 
         Loop 
         r.Close 
         
         db.Close 
         wks.Close 
         
        lisle的意见: 
        Dim svr As New SQLDMO.SQLServer 
        Dim db As SQLDMO.Database 
        Dim i As Integer 
        svr.Connect "(local)", "sa" 
        Set db = svr.Databases("pubs") 
        For i = 1 To db.Tables.Count 
         Debug.Print db.Tables(i).Name 
        next 
      

  6.   

    Query = " Select * from sysobjects where xtype='U'"
      

  7.   

    所有的数据库select * from sysdatabases
      

  8.   

    SELECT  *  FROM  SYSOBJECTS  WHERE  XTYPE  =  'U'
      

  9.   

    首先在“工具”-“引用”中引用 Microsoft SQLDMO object Library。Private Sub Combo1_DropDown()
        If Combo1.ListCount > 0 Then
            Dim Dn As String
            Dn = Trim(Combo2.Text) 'combo1是列数据库名的combo控件
            Combo1.Clear
            Combo1.Text = Dn
            SendKeys "{END}" 
            '以上实现下拉时原来内容不被清空
        Else
        End If
        Dim svr As New SQLDMO.SQLServer
        Dim i As Integer
        svr.Connect "ServerName", "UerID", "PWD" '3个引号内分别为服务器名,用户名,密码
        For i = 1 To svr.Databases.Count
        Combo1.AddItem svr.Databases(i).Name
        Next
    End Sub
    以上已经本人编译证实。