使用下面的方法获取表的列名:
    Dim cat As New ADOX.Catalog
    
    Set cat.ActiveConnection = cnn
    
    Dim i As Integer
    lvwData.ColumnHeaders.Clear
    For i = 0 To cat.Tables(Tables).Columns.Count - 1
        lvwData.ColumnHeaders.Add , , cat.Tables(Tables).Columns.Item(i).Name
    Next i但是得到的列时按字母顺序排列的,顺序不是建立这个表时候的顺序了,有什么办法可以获得与原表一致的列名呢?

解决方案 »

  1.   

    Dim Cnns As New ADODB.Connection
    Dim i As Integer
    Dim rs As New ADODB.Recordset
    我使用的是adodbDim sql As String
    Dim s As String
    Cnns.CursorLocation = adUseClient
    Cnns.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=hzyl(new);Data Source=ukyo"
    sql = "select * from jsmx"
    rs.Open sql, Cnns, adOpenForwardOnly, adLockReadOnly
    For i = 0 To rs.Fields.Count - 1
        s = rs.Fields(i).Name
    Next