获取特定表的列名

kru*_*hah 6 c# database oledb schema ms-access

我想获取特定表的所有列名..

我正在使用msaccess和C#.net 2008.

Nat*_*lch 24

您可以使用SchemaOnly CommandBehaviorGetSchemaTable方法通过OleDb获取给定查询的架构信息,如下所示:

var conStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=NWIND.mdb";
using (var con = new OleDbConnection(conStr))
{
    con.Open();
    using (var cmd = new OleDbCommand("select * from Suppliers", con))
    using (var reader = cmd.ExecuteReader(CommandBehavior.SchemaOnly))
    {
        var table = reader.GetSchemaTable();
        var nameCol = table.Columns["ColumnName"];
        foreach (DataRow row in table.Rows)
        {
            Console.WriteLine(row[nameCol]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)