【问题标题】:Get the ID of the column being read in SqlDataReader获取SqlDataReader中正在读取的列的ID
【发布时间】:2019-10-09 21:05:32
【问题描述】:

我目前正在读取一个古老的存储过程。

我知道您可以获取 FieldTypeFieldCount 来获取列的类型/大小,但是有没有办法让列的实际 IDreader 中读取?

我指的ID是这样的:

SqlDataReader reader = cmd.ExecuteReader();
while(reader.Read())
{
    SomeObject obj = new SomeObject{
        SomeProperty = reader["ID"]
    };
}

我不想将它任意绑定到某些var,而是要获得实际的column name,如果可能的话,它会在结果集中返回?

【问题讨论】:

  • 简而言之:reader.GetName(ordinal)reader.GetOrdinal(name)是这里的索引名称映射函数;结合reader.FieldCount

标签: c# sql reader


【解决方案1】:

您可以这样做并收集阅读器中包含的所有名称:

var columns = Enumerable.Range(0, reader.FieldCount).Select(reader.GetName).ToList();

【讨论】:

    猜你喜欢
    • 2010-10-12
    • 1970-01-01
    • 2016-10-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-07
    • 2021-09-20
    相关资源
    最近更新 更多