Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim sql As String
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master"
conn.Open
sql = "SELECT name FROM sysdatabases order by name"
rs.Open sql, conn
cmbDBName.Clear
If Not (rs.BOF And rs.EOF) Then
Do While Not rs.EOF
cmbDBName.AddItem rs.Fields("name")
rs.MoveNext
Loop
cmbDBName.ListIndex = 0
End If
rs.Close
Set rs = Nothing
conn.Close
Set conn = Nothing
列表名:
Dim conn As ADODB.Connection
Dim rs As New ADODB.Recordset
Dim rs1 As New ADODB.Recordset
Dim sql As String
Dim dt As String
Dim i As Integer
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
Do While Not rs.EOF
If rs.Fields("TABLE_TYPE") = "TABLE" Then
Grid1.AddItem "表名:" & rs.Fields("TABLE_NAME")
Grid1.AddItem "字段名" & vbTab & "类型" & vbTab & "长度"
sql = "select top 1 * from " & rs.Fields("TABLE_NAME")
rs1.Open sql, conn
For i = 0 To rs1.Fields.Count - 1
Select Case rs1.Fields(i).Type
Case 3
dt = "int"
Case 202
dt = "nvarchar"
Case 203
dt = "ntext"
Case 4
dt = "real"
Case 129
dt = "char"
Case 131
dt = "numeric"
Case 200
dt = "varchar"
Case 135
dt = "datetime"
Case 2
dt = "smallint"
Case 17
dt = "tinyint"
Case Else
dt = rs1.Fields(i).Type
MsgBox dt & "" & rs.Fields("Table_name")
End Select
Grid1.AddItem rs1.Fields(i).Name & vbTab & dt & vbTab & rs1.Fields(i).DefinedSize
Next
rs1.Close
Grid1.AddItem ""
End If
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set rs1 = Nothing
conn.Close
Set conn = Nothing