VB.NET - Любой способ получить хороший чистый список всех имен столбцов из MDB? (Доступ к базе данных) - PullRequest
0 голосов
/ 16 июня 2011

У меня есть таблица в базе данных Access, которую я загружаю в программу VB.NET, и мне нужен способ получить имя каждого из столбцов в списке строк.Поиск в Google показал, что это намного проще с базой данных 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 (удерживая)

Ответы [ 2 ]

2 голосов
/ 16 июня 2011
Console.WriteLine(columns)

изменить на:

Console.WriteLine(holding)

Тогда, возможно, ударите себя по голове, чтобы не заметить это = D; -)

1 голос
/ 16 июня 2011

Попробуйте изменить

    For Each holding As String In columns
        Console.WriteLine(columns)
    Next

до

    For Each holding As String In columns
        Console.WriteLine(holding)
    Next
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...