我有从声明SqlDataReader
中返回的信息。ExecuteDataReader
我想要的是:在绑定到网格之前更改数据阅读器中的一些列名。
情况如下:
- 首先我建立了网格的结构(结构在数据库中的表中,它是根据过去系统中存储过程的输出填充的)
- 我执行数据阅读器来执行存储过程
- 将数据读取器绑定到网格
问题是:如果存储过程中的一列是大写的,而网格中的相关列是小写的,则网格不会填充。
而且我有很多基于这种架构的存储过程。其中一些有很多行要显示。正因为如此,我使用数据阅读器来提高性能。
- 我不想更改存储过程中的列名(工作量太大)
- 我不想将数据读取器的结果复制到另一个数据持有者(因为开销和性能低下)
我只是更改数据读取器的列名的一种方法
sqlDataReader 阅读器;reader.executedatareadet();
例如,在返回数据阅读器后,我有两列 ( A,B
)。
我想在将列绑定到网格之前将其更改'A'
为'a'
(转换为小写)reader.GetName(i)
我希望能够做类似的事情
reader.SetName(i)
但似乎我们无法更改数据读取器列名