【问题标题】:How to read the value from Pivot table Coloumns using DataReader or DataSet class如何使用 DataReader 或 DataSet 类从数据透视表列中读取值
【发布时间】:2014-02-22 05:58:59
【问题描述】:

这是我的存储过程,我的问题是如何读取 DataReader 或 DataSet 中的列值。

ALTER PROCEDURE StudentProgressReport   
BEGIN   
    SET NOCOUNT ON;  

DECLARE @cols AS NVARCHAR(MAX),
    @query  AS NVARCHAR(MAX)

SET @cols = STUFF((SELECT distinct ',' + QUOTENAME(r.Exam_Date) 
    FROM Institute_Student_Results r
    FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'),1,1,'')

set @query = 'SELECT Student_Roll_No,Student_First_Name,Student_Last_Name,' + @cols + ' from 
        (
            select distinct  u.Student_Roll_No,
            s.Student_First_Name,s.Student_Last_Name,               
            u.Marks,e.Examination_Total_Marks,
            u.Exam_Date

            from Institute_Student_Results u

            inner join Institute_Examinations e
            on u.Exam_ID=e.Institute_Examination_ID

            inner join Student_Master s
            on u.Student_ID=s.Student_ID

            where e.Institute_Course_Batch_ID=110
            and u.Exam_ID=105
            and u.Marks is not null             

       ) x
        pivot 
        (
            MAX(Marks)
            for Exam_Date in (' + @cols + ')
        ) p '

   execute(@query)     

END

【问题讨论】:

    标签: c# sql-server-2008 ado.net


    【解决方案1】:

    您可以使用 SqlDataAdapter 执行存储过程并用结果填充 DataSet。有关填充 DataSet 的示例,请参阅此 SO post 或有关填充 DataTable 的此 one

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 1970-01-01
      相关资源
      最近更新 更多