ホームページ >データベース >mysql チュートリアル >JasperReports で動的 SQL「IN」パラメータ リストを渡す方法

JasperReports で動的 SQL「IN」パラメータ リストを渡す方法

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-31 08:15:10576ブラウズ

How to Pass a Dynamic SQL

JasperReports に SQL "IN" パラメータ リストを渡す

"IN" 述語を使用して SQL クエリを含む JasperReports を生成する場合、動的パラメータ割り当てにより、 Java プログラミングを通じて実現されます。 「roles」パラメータの値を動的に設定する方法を見てみましょう。

問題のクエリ:

SELECT customer_name AS NAME,
       id_customer AS ID
  FROM customer
 WHERE customer_role IN ($P{roles})

Java でのパラメータの割り当て

JasperReports は、パラメータを動的に設定するための特別な変数 $X を提供します。 「roles」パラメータに値のリストを割り当てるには、次の構文を使用します:

select * from customer where $X{IN,customer_role,roles}

Java でプログラムによってパラメータ値を設定する方法の例を次に示します:

// Get a JasperReports instance
JasperPrint jasperPrint = jasperReport.fill(parametersMap, dataSource);

// Create a new parameter list
java.util.List<JRParameter> updatedParameters = new ArrayList<>();

// Add the "roles" parameter with the updated value
updatedParameters.add(new JRParameter("roles", ArrayList.class, roles));

// Set the parameter list
jasperPrint.setParameters(updatedParameters);

追加メモ

  • 役割リストは次のタイプである必要があります。 ArrayList.
  • パラメータ処理の詳細については、JasperReports のドキュメントを参照してください。

以上がJasperReports で動的 SQL「IN」パラメータ リストを渡す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。