CREATE   TABLE   tb_student   (   
                [id]   [nvarchar]  (20) NOT   NULL   ,   
                [name]   [nvarchar]   (50)  NULL ,   
               
  )   ON   [PRIMARY]   
  GO   
 CREATE   TABLE   tb_class   (   
                [class_id]   [nvarchar]  (20) NOT   NULL   ,   
                [class_name]   [nvarchar]   (50)  NULL ,   
               
  )   ON   [PRIMARY]   
  GO  CREATE   TABLE   [tb_Source]   (   
                [id]   [nvarchar]  (20) NOT   NULL   ,
                [class_id]   [nvarchar]  (20) NOT   NULL   ,   
                [source]    [numeric](18,   0)   NULL  
               
  )   ON   [PRIMARY]   
  GO ------------------------------- declare   @sql   varchar(8000)    -- set   @sql   =   'select   name,'  set   @sql   =   'select  '  
 
  select   @sql   =   @sql   +   'sum(case when  [class_id]   =   '''+a.class_id+'''     
                                                      then   source   else   0   end)   as   '''+a.class_name+''',' 
  from        (select      class_id ,class_name  from   tb_class )   as   a  
   
  select   @sql   =   left(@sql,len(@sql)-1)   +   ', student.name AS ''姓名''   from   tb_Source  as source
inner join  tb_student  as student on source.id = student.id
  group   by  student.name '   
 
print  @sql
exec(@sql) 

解决方案 »

  1.   

    GridView可以用VS绑定啊.不要写代码.点gridview 上有个三角按钮,在里面再选择绑定数据库表按提示就可以一项项绑好,再改表头就可以了.如果你想重新查询绑定,修改AccessDataSource就可以了.
      

  2.   

    Gridview
    帮定
    自己修改名字
    或者改sql语句
    把你的名字as了
    如果项目过大
    建议在系统管理
    遍历Gridview的列头
    在数据库里创建代码表进行统一修改