<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.

    主站蜘蛛池模板: 最近中文字幕完整版免费高清| 你是我的城池营垒免费观看完整版 | 亚洲精品视频在线| 18禁在线无遮挡免费观看网站| 国产精品亚洲mnbav网站| 一区二区免费在线观看| 亚洲国产精品一区二区三区久久| 特黄aa级毛片免费视频播放| 在线a亚洲v天堂网2018| h在线看免费视频网站男男| 亚洲色偷偷综合亚洲AV伊人| 久久久久久久国产免费看| 国产国拍亚洲精品mv在线观看| 国产日韩AV免费无码一区二区| 久久亚洲综合色一区二区三区| 外国成人网在线观看免费视频| 亚洲精品自拍视频| 欧美大尺寸SUV免费| 亚洲国产精品无码久久久秋霞1| 国产高清免费在线| 一级一级一片免费高清| 亚洲VA成无码人在线观看天堂 | 亚洲一级毛片免费在线观看| 成人毛片免费视频| 在线亚洲精品视频| 国产精品亚洲а∨无码播放| 免费观看黄网站在线播放| 91在线亚洲综合在线| 免费乱理伦在线播放| a在线视频免费观看| 亚洲最大在线观看| 国产成人免费永久播放视频平台| j8又粗又长又硬又爽免费视频| 老色鬼久久亚洲AV综合| 成人无遮挡毛片免费看| 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 男女男精品网站免费观看| 情人伊人久久综合亚洲| 青青青免费国产在线视频小草| 国产亚洲综合久久| 亚洲AV一宅男色影视|