m hanif f
m hanif f

Reputation: 418

get column names from a table in an Access database using VB.NET

How can I get all column names from a table in an Access database using VB.NET? With some articles on the Internet that I've tried, the result given is just the database schema. Is there any solution for this?

Upvotes: 0

Views: 8378

Answers (1)

Zev Spitz
Zev Spitz

Reputation: 15297

You need to pass the name of the collection you are interested in to the GetSchema method. In the case of the columns collection, you also need to pass in an array of strings to filter the returned values.

Dim connectionString = csb2.ToString
Dim tableName = "Sales Reports"
Dim filterValues = {Nothing, Nothing, tableName, Nothing}

Using conn = New OleDbConnection(connectionString)
    conn.Open
    Dim columns = conn.GetSchema("Columns", filterValues)
    For Each row As DataRow In columns.Rows
        Console.WriteLine("{0,-20}{1}",row("column_name"),row("data_type"))
    Next
End Using

See here.

Upvotes: 2

Related Questions