<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    kooyee ‘s blog

    開源軟件, 眾人努力的結晶, 全人類的共同財富
    posts - 103, comments - 55, trackbacks - 0, articles - 66
       :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理
    因為jasper server中Multi-Select控件得到的值不是String,,而是Collection。這些值可以顯示在report中或者打印出來。但是當Multi-Select中的值用到sql query中必須是String,所以需要把它轉換成String list.

    先建立一個parameter,類型為java.util.Collection。可以設定 default value 為
    Arrays.asList(new Integer[] {Integer.valueOf(1), Integer.valueOf(2) } )
    或者
          Arrays.asList(new String[] {"entry1", "entry2" })

    然后建立另一個parameter,類型為String。defaultValueExpression為下面其中的一個
    $P{MultiTaskInput}.toString().replaceAll("[\\[\\]]""")//for integer
    或者
    $P
    {MultiTaskInput}.toString().replaceAll("[\\[\\]]""'").replaceAll("""', '")//for String(char in database) 把 , 換成 ' , '
    **因為collection的String格式為 [1],[2],[3]。所以到把方括號替換掉。

    把第二個parameter帶入query中,SQL為
    SELECT * FROM TABLE WHERE cloumn in ($P!{param})  //注意 $P后要加!
    這樣就可以建立動態query, 數據庫運行select基于parameter中list的值。 類似于
    SELECT * FROM table WHERE column IN ('1','3','5')




    關于$P!{}的原文解釋:

    The $P{} syntax is used for introducing parameter values just like you use the ? in a JDBC prepared statement. They are placeholders for prepared statement parameters.

    The $P!{} simply expands the value of the parameter within the query text. It is used for dynamically building queries or for providing the whole query text as a parameter.

    The $X{} syntax is a new addition in JR 1.3.2 and is something in between the previous two. It is a way to dynamically build a part of the query, but also introduce parameter placeholders.
    There are two $X{} functions supported by the SQL query executer in JasperReports:

    $X{IN, colName, paramName}

    and

    $X{NOTIN, colName, paramName}

    paramName should be the name of a report parameter that is either of type Collection or array.

    This syntax is to be used in order to produce these SQL sequences in the WHERE clause:

    colName IN {val1, val2, ...}

    or

    colName NOT IN {val1, val2, ...}

    where val1, val2, ... are values in the collection or array parameter mentioned.

    Check the supplied /demo/sample/query for a working example of this.

    主站蜘蛛池模板: 亚洲AV日韩AV永久无码下载| 最近最好的中文字幕2019免费| 免费国产真实迷j在线观看| 4444亚洲国产成人精品| 特级精品毛片免费观看| 国产亚洲精午夜久久久久久| 特黄aa级毛片免费视频播放| 国产成人在线观看免费网站 | 7723日本高清完整版免费| 亚洲精品视频在线| 67pao强力打造国产免费| 亚洲日韩区在线电影| 国产好大好硬好爽免费不卡| 久久精品亚洲视频| 777爽死你无码免费看一二区 | 久久久久久亚洲精品不卡| 国产亚洲欧美日韩亚洲中文色| 国产精品免费看香蕉| 婷婷亚洲综合一区二区| 亚洲黄片手机免费观看| 久久www免费人成精品香蕉| 亚洲AV综合色区无码一区爱AV| 亚洲一区免费观看| 亚洲人成人网毛片在线播放| 手机在线免费视频| 边摸边吃奶边做爽免费视频99 | 亚洲精品在线电影| 日韩欧美一区二区三区免费观看| 亚洲人AV在线无码影院观看| 国产免费人成在线视频| 精品国产福利尤物免费| 亚洲精品综合一二三区在线| 免费大片黄在线观看yw| WWW国产亚洲精品久久麻豆| 国产亚洲精品a在线观看| 免费国产黄网站在线观看| 亚洲经典千人经典日产| 亚洲人JIZZ日本人| 成人免费福利视频| AAAAA级少妇高潮大片免费看| 亚洲色图校园春色|