zoukankan      html  css  js  c++  java
  • Report Style

    根据用户自定义需求报表。只有在SQL写好存储过程,然后把结果集显示在GridView中。

    报表做出来,用户接收了。有把这个效果分享给一些网友,结果网友都会问回一个问题,这个效果如何实现的。

    现在把一部分存储过程代码帖出来,分享一下,其实很简单。

    代码
    --如果抽检数大于零和比率大于等于零
    IF ((@RCount > 0AND (ISNULL(@Rate,0)>= 0))
    BEGIN
        
    BEGIN
            
    --定义一个字段变量
            DECLARE @ColumnName NVARCHAR(100)
            
    --把日期转换为字符串赋值于这个字段变量,如20101202
            SET @ColumnName =  CONVERT(NVARCHAR(100),@BeginDate,112)                      
            
    --判断表是否存在这个字段,如果没有向这个临时表添加一个
            EXECUTE('IF NOT EXISTS(SELECT name FROM tempdb..syscolumns where id=OBJECT_ID(''tempdb..#TempFqaVisualReportsByDate'') AND tempdb..syscolumns.name ='''+ @ColumnName +''') ALTER TABLE #TempFqaVisualReportsByDate ADD [' + @ColumnName + '] NVARCHAR(100)')
        
    END
        
    BEGIN    
            
    --判断是否有此品种记录存在        
            IF NOT EXISTS (SELECT * FROM #TempFqaVisualReportsByDate WHERE [品种] = @SpeciesName)
            
    --如果没有,添加一笔
            INSERT INTO #TempFqaVisualReportsByDate([品种]VALUES (@SpeciesName)    
            
    --如果已经存在,执行更新SQL语句。值是一个组全成的字符串,如110÷247=44.53%
            EXECUTE('UPDATE #TempFqaVisualReportsByDate SET ['+ @ColumnName +'] = CONVERT(NVARCHAR(50),' + @PassedCount + ') + ''÷'' + CONVERT(NVARCHAR(50),' + @RCount + ') + ''='' + CONVERT(NVARCHAR(80),CONVERT(DECIMAL(18,2),' + @Rate + ' * 100)) + ''%'' WHERE [品种] = '''+ @SpeciesName +'''')
        
    END
    END
  • 相关阅读:
    权值线段树模版
    P2679 [NOIP2015 提高组] 子串
    P3747 [六省联考 2017] 相逢是问候
    P2822 [NOIP2016 提高组] 组合数问题
    P2331 [SCOI2005]最大子矩阵
    P1854 花店橱窗布置
    P5888 传球游戏
    Hard | LeetCode 42. 接雨水 | 单调栈 | 双指针
    Medium | LeetCode 621. 任务调度器 | 设计
    Medium | LeetCode 166. 分数到小数 | 数学
  • 原文地址:https://www.cnblogs.com/insus/p/1918684.html
Copyright © 2011-2022 走看看