如何获取OdbcDataReader返回的字段列表?

Max*_*xim 1 c# odbc

如何从C#中的OdbcDataReader获取字段列表?

例如,对于包含两个字段的表,Field1以及Field2:

DbCommand.CommandText = "SELECT * FROM TABLE WHERE 0=1";
DbReader = DbCommand.ExecuteReader();
Run Code Online (Sandbox Code Playgroud)

DbReader.??? 会给我一份两个要素的清单 - ["Field1","Field2"]

有这样的功能吗?

Sim*_*son 7

我想我知道你在寻找什么.如果您问"无论查询文本如何,您都可以列出返回数据集的字段名称,而无需访问数据库以进行模式检查吗?" 那么这对你有用:

var db = new System.Data.Odbc.OdbcConnection ( @"MyODBCSqlConnectionString" );
db.Open();

var cmd = db.CreateCommand();
cmd.CommandText = "SELECT * from MyTable";
var reader = cmd.ExecuteReader();

for( int ordinal = 0; ordinal< reader.FieldCount; ordinal++)
    Console.WriteLine( "Field {0}: {1}", ordinal, reader.GetName( ordinal ) );
Run Code Online (Sandbox Code Playgroud)