Есть ли запрос, который будет возвращать все имена столбцов в таблице Microsoft Access? - PullRequest
1 голос
/ 17 августа 2010

У меня есть база данных Microsoft Access, к которой я подключаюсь с Jet Database Engine, используя VB.NET. Я хочу программно получить все имена столбцов для конкретной таблицы.

Я хотел бы сделать эквивалент этого оператора MS SQL:

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

Возможно ли это в Access? Если нет, каковы мои варианты получения имен столбцов?

1 Ответ

5 голосов
/ 17 августа 2010

Я нашел способ сделать это, используя метод GetSchema класса .NET Connection.

Я написал метод, который возвращает имена столбцов для конкретной таблицы.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...