VB.NET-有什么办法可以从mdb中获得所有列名的完整列表? 访问数据库

问题描述

| 我在Access数据库中有一个表,该表正在加载到VB.NET程序中,并且我想要一种将每个列的名称获取到字符串列表中的方法。 Googling已表明,使用sql数据库要容易得多,但是在Access中这样做要困难得多。 我碰到了这个问题是否存在一个查询,该查询将返回Microsoft Access表中的所有列名?这提供了一种方法,但是当我尝试代码时,它只是用一串\“ System.Collections.Generic.List \'1 [System.String] \”填充列表。 这是我改编的代码。对修复或更好的方法有什么建议吗?
Public Function GetColumns(ByRef database As String,ByRef table_name As String,ByRef columns As List(Of String)) As Integer
Dim com As OleDbConnection
        Try
            com = New OleDbConnection(database)
            com.open()
        Catch ex As Exception
            Return 1
        End Try

        Dim restrictions As String() = New String() {nothing,nothing,table_name,nothing}
        Dim dt As DataTable = com.GetSchema(\"Columns\",restrictions)
        com.Close()

        For Each DR As DaTarow In dt.Rows
            columns.Add(DR(\"Column_Name\").ToString)
        Next

        For Each holding As String In columns
            Console.WriteLine(columns)
        Next
End Function
编辑:啊,我讨厌当我在函数的其他地方犯下愚蠢的错误时,这使我认为函数的作用无法正常工作。我的每个循环都没有打印正确的字符串。应该是Console.WriteLine(holding)     

解决方法

        
Console.WriteLine(columns)
改成:
Console.WriteLine(holding)
然后可能会踢自己的头部,以免发现= D ;-)     ,        尝试改变
    For Each holding As String In columns
        Console.WriteLine(columns)
    Next
    For Each holding As String In columns
        Console.WriteLine(holding)
    Next