我在Delphi里使用存储过程产生动态的表头生成,这里能用到那些数据组件进行处理?如何做??例如:
我想利用学生“学号”查询学生课程的成绩,由于每个学生选择的课程不同,想通过存储过程来查询形成按课程的实际选择情况来生成相应的学号的成绩报表如何处理???
报表1: 学号10000
语文  数学
91    80报表2:
 学号10001
语文  数学  历史
91    80     85
如何做???????????????

解决方案 »

  1.   

    我在Delphi里使用存储过程产生动态的表头生成,这里能用到那些数据组件进行处理?如何做??
    看你要怎么做了,以及要作出什么效果来。我想利用学生“学号”查询学生课程的成绩,由于每个学生选择的课程不同,想通过存储过程来查询形成按课程的实际选择情况来生成相应的学号的成绩报表如何处理???
    没看懂什么意思。
      

  2.   

    转贴,不知道是否合你之意!1. 行列转换--普通假设有张学生成绩表(CJ)如下
    Name    Subject     Result
    张三    语文        80
    张三    数学        90
    张三    物理        85
    李四    语文        85
    李四    数学        92
    李四    物理        82想变成    
    姓名   语文   数学   物理
    张三   80     90     85
    李四   85     92     82declare @sql varchar(4000)
    set @sql = 'select Name'
    select @sql = @sql + ',sum(case Subject when '''+Subject+''' then Result end) ['+Subject+']'
    from (select distinct Subject from CJ) as a
    select @sql = @sql+' from test group by name'
    exec(@sql)