【发布时间】:2012-12-19 06:06:57
【问题描述】:
我有从ExecuteDataReader 语句返回的SqlDataReader。
我想要的只是:在数据阅读器中更改一些列名,就在绑定到网格之前。
情况如下:
- 首先我构建网格结构(结构在数据库中的表中,根据过去系统中存储过程的输出填充)
- 我执行数据读取器来执行存储过程
- 将数据读取器绑定到网格
这里的问题是:如果存储过程中的一列是大写的,而网格中的相关列是小写的,则网格不会填满。
而且我有很多基于这种架构的存储过程。其中一些有很多行要显示。因此,我使用数据阅读器来提高性能。
- 我不想更改存储过程中的列名(工作量太大)
- 我不想将数据读取器的结果复制到另一个数据持有者(因为开销和性能低)
-
我只是改变数据读取器的列名的一种方法
sqlDataReader 阅读器; reader.executedatareadet();
例如,在返回数据读取器后,我有两列 (A,B)。
我想将'A' 列更改为'a'(转换为小写),然后再将其绑定到网格,例如reader.GetName(i)
我希望能够做类似的事情
reader.SetName(i)
但我们无法更改数据读取器列名
【问题讨论】:
-
尝试使用列的索引属性而不是列名。如果可能的话。
标签: c# gridview sqldatareader