JS を介して特定の SQL ステートメントを呼び出す方法。この要件は、レポートおよびデータ プラットフォームの開発において非常に一般的です。たとえば、レポート プラットフォーム FineReport の開発を例に挙げると、特定のボタンをクリックした後、データベース エントリの数を判断して、次のステップを決定できます。では、これは舞台裏でどのように行われるのでしょうか?
ソリューションのアイデア
この機能を実装するには、まず Finereport の組み込み式と SQL 関数を理解する必要があります。これは誰もが知っているので、ここでは紹介しません。
FineRepor の組み込み式: FR.remoteEvaluate("特定の式") を呼び出します。戻り値は次のとおりです: この特定の式の結果。
例:
var a = FR.remoteEvaluate("sum(1+2)");
このとき、変数aの値は3です。
ここで注意すべき点は、SQL 関数では二重引用符 (") を複数回使用する必要があるため、バックスラッシュ () を使用してエスケープすることに注意する必要があります。
var sql = "SQL("FRDemo" ,"Select count(*) from sales_basic",1,1)"
または、エスケープによる複雑さを軽減するために、次の形式で記述することもできます。 var sql="select count(*) from sales_basic"; FR.remoteEvaluate('sql("FRDemo","'+sql+'",1,1)');
パラメータ パネルにボタンを追加し、ボタンのクリック イベントに次の SQL を記述します:
var sql ="SQL(\"FRDemo\",\"Select count(*) fromsales_basic\",1,1)" alert(sql); var Count = FR.remoteEvaluate(sql); alert(Count);
ページプレビューテンプレート、ボタンをクリックすると、効果は次のようになります: