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

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

Mary-Kate Olsen
リリース: 2024-12-31 08:15:10
オリジナル
569 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート