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