如何在C#中更改DataReader中的列名?

abi*_*ari 6 c# gridview sqldatareader

SqlDataReaderExecuteDataReader声明中返回了.

我想要的只是:在绑定到网格之前,在数据读取器中更改一些列名.

情况如下:

  1. 首先,我构建网格结构(结构在数据库中的表中,基于过去系统中存储过程的输出填充)
  2. 我执行数据读取器来执行存储过程
  3. 将数据读取器绑定到网格

问题是:如果存储过程中的一列是大写的,并且网格中的相关列是小写的,则网格不会填充.

我有很多基于这种架构的存储过程.其中一些有很多行要显示.因此,我使用数据读取器来提高性能.

  1. 我不想更改存储过程中的列名(太多工作)
  2. 我不想将数据读取器的结果复制到另一个数据持有者(因为开销和性能低)
  3. 我只是一种方法来更改数据读取器的列名称

    sqlDataReader阅读器; reader.executedatareadet();

例如,在返回数据读取器后,我有两列(A,B).

我想在将列绑定到网格之前将列更改'A''a'(转换为小写)reader.GetName(i)

我希望能够做类似的事情

reader.SetName(i)
Run Code Online (Sandbox Code Playgroud)

但它接缝我们无法更改数据读取器列名称

Dam*_*oev 1

您可以尝试将 DbDataReader 加载到具有预定义列名称的 DataTable 中,然后将该表用作应用程序中的数据源。