【问题标题】:Is there a query that will return all of the column names in a Microsoft Access table?是否有一个查询会返回 Microsoft Access 表中的所有列名?
【发布时间】:2010-08-17 13:14:15
【问题描述】:

我有一个 Microsoft Access 数据库,我使用 VB.NET 通过 Jet 数据库引擎连接到该数据库。我想以编程方式获取特定表的所有列名。

我想做这个 MS SQL 语句的等价物:

SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns WHERE TABLE_NAME = 'TableName' 

这在 Access 中可行吗?如果没有,我有哪些获取列名的选项?

【问题讨论】:

    标签: .net vb.net ms-access


    【解决方案1】:

    我找到了一种使用 .NET Connection 类的GetSchema 方法的方法。

    我编写了一个返回特定表的列名的方法。

    Private Function GetColumnNamesInTable(ByVal connectionString As String, ByVal tableName As String) As List(Of String)
        Dim connection As OleDbConnection = New OleDbConnection(connectionString)
        Dim restrictions As String() = New String() {Nothing, Nothing, tableName, Nothing}
        connection.Open()
        Dim dataTable As DataTable = connection.GetSchema("Columns", restrictions)
        connection.Close()
        Dim returnList As List(Of String) = New List(Of String)
        For Each dataRow As DataRow In dataTable.Rows
            returnList.Add(dataRow("Column_Name"))
        Next
        Return returnList
    End Function
    

    【讨论】:

    • 这是我的首要任务。写完问题后,我继续尝试寻找解决方案。我希望有人会回复我可以使用的查询,这样我就不必这样做了。
    • 为什么在您原来的问题中没有提到 .NET?它会帮助很多人找出你问题的最佳答案。你真的应该编辑你的问题来解决这个问题,因为如果完整的上下文是清楚的,其他人会得到更多的帮助。
    • 我已经搜索了超过 2 年的查询来执行此操作,但似乎没有。我最终确定了这个程序并且它有效。此外,GetSchema 允许您检索有关任何 Access 数据库的大量信息。
    • @Alex:感谢您的意见。 GetSchema 看起来确实很强大。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-29
    相关资源
    最近更新 更多