即在VB中有一个树型视图与一个列表视图或一个其他控件(用来装载表的数据).点击树型视图后展开后再点击表名时,将SQL2000中所对应的表的数据导入到列表视图中或其他控件中(就好像在SQL中使用select * from tablename的效果一样).
即在VB中有一个树型视图与一个列表视图或一个其他控件(用来装载表的数据).点击树型视图后展开后再点击表名时,将SQL2000中所对应的表的数据导入到列表视图中或其他控件中(就好像在SQL中使用select * from tablename的效果一样).
'得到指定SQL服务器所有数据库的列表
Dim sqlApp As New SQLDMO.Application()
Dim oServer As New SQLDMO.SQLServer()
oServer.Connect("(local)", "sa", "sa") cbDatabase.Items.Clear()
Dim db As SQLDMO.Database
For Each db In oServer.Databases
Me.cbDatabase.Items.Add(db.Name)
Next得到所有的表:
Dim I As Short
Dim oServer As New SQLDMO.SQLServer()
oServer.Connect("(local)", "sa", "sa")
Dim db As New SQLDMO.Database() For I = 1 To oServer.Databases.Count
If oServer.Databases.Item(I, "dbo").Name = "Northwind" Then Exit For
Next
If I > oServer.Databases.Count Then Exit Sub db = oServer.Databases.Item(I, "dbo") ListBox1.Items.Clear()
'得到所有的表
For I = 1 To db.Tables.Count
ListBox1.Items.Add(db.Tables.Item(I, "dbo").Name)
Next
在樹節點的單擊事件中,
根據表名加載數據,放到右邊顯示。推薦:
ADO+Treeview+ListView的報表式。
'引用ADO("工程"/"引用"/Microsoft ActiveX Data Objects 2.X Library)
Private Sub Command1_Click()
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=登陆用户名;Password=登录密码;Initial Catalog=数据库名;Data Source=服务器别名"
cn.CursorLocation = adUseClient '设置客户端游标
cn.Open
'查询出所有的用户表
Set rs = cn.Execute("select [name] from sysobjects where [xtype]='U' and [name]<>'dtproperties'")
If Not rs.EOF Then rs.MoveFirst
whlie Not rs.EOF
Debug.Print rs(0) '打印所有的用户表名
rs.MoveNext
Wend
'查询出所有的系统表
Set rs = cn.Execute("select [name] from sysobjects where [xtype]='S' or ([name]='dtproperties')")
If Not rs.EOF Then rs.MoveFirst
whlie Not rs.EOF
Debug.Print rs(0) '打印所有的用户表名
rs.MoveNext
Wend
End Sub