软件注册站
热情软件屋

 
如何获得SQL服务器所管理的所有数据库名
编号: QA002943    
建立日期: 2000年5月16日 最后修改日期: 2005年4月1日
所属类别: 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
    

    
    
    chenping的意见:
    列出数据库名方法是:
    首先在“工具”-“引用”中引用 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
    
    
以上代码已经本人编译证实是列出服务器所有数据库名无误。

    

此问题由李湘庆回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 数据库, database, query

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio