 |
操作系统: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。
|
| |
|
| |
|
| |
|
|