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

    主站蜘蛛池模板: 亚洲国产天堂久久综合| 少妇太爽了在线观看免费视频 | a级片免费在线播放| 国产亚洲精品无码专区| 一级一级毛片免费播放| 久久久久亚洲精品天堂久久久久久| 一级毛片正片免费视频手机看| 亚洲天堂中文字幕在线| 黄色网站软件app在线观看免费 | 亚洲av永久无码精品三区在线4| 99国产精品永久免费视频| 亚洲欧洲另类春色校园网站| 毛片基地免费观看| 亚洲高清国产拍精品熟女| 情侣视频精品免费的国产| 手机永久免费的AV在线电影网| 亚洲精品无码午夜福利中文字幕| 无码日韩精品一区二区三区免费 | 久久青草亚洲AV无码麻豆| 18成禁人视频免费网站| 精品国产日韩久久亚洲| 亚洲Av无码乱码在线播放| 中文字幕在线视频免费观看| 亚洲成人黄色在线观看| 国产精品免费_区二区三区观看 | 暖暖在线视频免费视频| 亚洲免费黄色网址| 波多野结衣视频在线免费观看| 黄色短视频免费看| 亚洲香蕉免费有线视频| 日韩免费高清视频| 亚洲免费观看视频| 亚洲一卡2卡3卡4卡5卡6卡| 亚洲国产精品嫩草影院久久 | 亚洲综合网美国十次| 国产一区二区三区免费视频| 日本免费中文视频| 成人精品国产亚洲欧洲| 亚洲成人免费在线| 亚洲成人国产精品| 亚洲视频在线观看免费视频|