Jum*_*zza 0 c# sql-server asp.net datareader
我正在使用c#和SQL Server从数据库中获取数据,并在pageload上的页面上填充一些标签.信息来自SQL视图,它在一行中返回一大堆信息.例如:
SELECT 'car' AS product, 12 As daysUntilEOM, '2010-01-01' AS LastHoliday, 23.7 AS Length
返回总是只有一行
我的项目的其余部分正在使用LINQ,我最初开始沿着这条路走下去,但是创建一个我只想一次性使用的对象是什么意思,将所有值作为键值分配给对象配对,然后将它们重新分配给标签文本?似乎有很多毫无意义的编码.
使用datareader似乎也有同样的问题.
我能看到的最简单的解决方案(即最少代码)是使用dataAdapter填充数据集并将数据集从DAL传回页面,然后直接分配给标签.但对于单行数据,这似乎就像使用卡车携带单个番茄一样.
是否有类似ExecuteScalar的东西返回整行而不是第一列?或者,DataAdapter的编码是否足够,我应该不再担心开销?
谢谢!
你应该打电话ExecuteReader并传递CommandBehavior.SingleRow旗帜.
为避免耦合,您可以将DataReader转换为字典,如下所示:
return Enumerable.Range(0, reader.FieldCount)
.ToDictionary(reader.GetName, reader.GetValue);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1796 次 |
| 最近记录: |