• Dynamic 报表服务开发


    1.下载SSDT-Setup-CHS,勾选1、3项,全勾也可以

    2.装好之后,打开新建报表服务

     

     

     

     

    @实体ID为输入的参数

    做完报表之后,右键解决方案,先清理在生成

     

     

    选择报表文件添加即可

    子报表

     

     

     

    可能出现的问题

    上面的乱码为中文,但是输入中文未显示中文,其原因是字体

     

     

     

    报表显示多选选项集时不能显示数据库的信息,需要显示数据库对应数据信息

    新建函数(主外键的话,就join连接就行了)

     

    --这个函数  返回的是一个表
    alter function [dbo].[GetSubsidiaryBusinesses]
    (
    @str NVARCHAR(500),--要分割的字符串
    @fengefu NVARCHAR(20)--进行分割的符号
    )returns @table table(val NVARCHAR(50))
    AS
    begin 
        declare @index INT,@startsplit INT,@id INT,@sum nvarchar --@index分隔符所在的位置的下标 @startsplit 每次分割开始的位置
        select @index=charindex(@fengefu,@str),@startsplit=1,@id=1
        where @index>0
        begin
            if @id>1  --第一次循环之后 都执行这个方法体中的代码
            begin 
                select @startsplit=@index+LEN(@fengefu) --分割开始位置等于 之前的字符下标位置+字符本身的长度
                select @index=CHARINDEX(@fengefu,@str,@startsplit)
                
            end 
            if @index>0   --第一次循环 截取位置从@startsplit=1开始  
                begin 
                   select @sum=@sum+substring(@str,@startsplit,len(@str)-@startsplit+1)+';' --要截取的字符串   开始位置  要截取的长度
                END 
            else 
            begin   --最后一次循环  此时由于匹配不到分割字符 @index=0 截取剩余的字符串
            select @sum=@sum+substring(@str,@startsplit,len(@str)-@startsplit+1)+';'
                insert into @table values (@sum)
            end 
            select @id=@id+1
        end
        return 
    end
    
    --select (Cast(字段名 as varchar(20)) +'('+ Cast(字段名 as varchar(20))+')')将字段组合显示为第一个字段
    SELECT (cast((SELECT val FROM [GetSubsidiaryBusinesses](new_test_duoxuan,',') where id=2 ) as varchar))+';'+
    (cast((SELECT val FROM [GetSubsidiaryBusinesses](new_test_duoxuan,',') where id=3 ) as varchar))+';'+
    (cast((SELECT val FROM [GetSubsidiaryBusinesses](new_test_duoxuan,',') where id=4 ) as varchar)) as 多选选项集,
    case new_record_updatemodth when 1 then 'A'
                     when 2 then 'B'
                     when 3 then 'C'
                     end 单项选项集 
    FROM new_recordingBase

    测试数据——》已显示结果(完成!)

  • 相关阅读:
    4、Cocos2dx 3.0三,找一个小游戏开发Hello World 分析
    Android Bluetooth开发
    详细解析BluetoothAdapter的详细api
    Android 蓝牙( Bluetooth)耳机连接分析及实现
    [Andriod官方API指南]连接之蓝牙
    Android蓝牙A2dp profile的使用
    Android中文API(129) —— AudioManager
    Android中的Audio播放:控制Audio输出通道切换
    JAVA ANDROID SOCKET通信检测(SERVER)连接是否断开
    Android Xfermode 实战 实现圆形、圆角图片
  • 原文地址:https://www.cnblogs.com/LanHai12/p/15257963.html
Copyright © 2020-2023  润新知