2017-07-14 4 views
0

私はBIRTでレポートを作成しようとしています。 SQL Server 2008で完全に動作するストアドプロシージャを作成しました。しかし、BIRTでレポートを実行しようとすると、NULL値では実行されません。Maximo/BIRT - オプションのNULL値

var DepartmentValue = params["DepartmentValue"].value; 
var AccountValue = params["AccountValue"].value; 

sqlText = " EXEC SP_Report_ByDept '"+DepartmentValue+"','"+AccountValue+"','"+startdt+"','"+enddt+"' "; 

有効なAcccountValueがある場合は完全に機能します。任意のアイデアAccountValueのnull値を渡す方法?

乾杯。

+0

手動でSQL文字列を作成する代わりに、バインド変数が解決されます。これは、SQLインジェクションのセキュリティ問題とnull値の問題を同時に解決します。 – hvb

答えて

0

実際にパラメータがnullの場合、文字列 'null'を正しく渡したいと思いますか?

var DepartmentValue = params["DepartmentValue"].value; 
var AccountValue = params["AccountValue"].value; 

if (AccountValue == null){ 
    AccountValue = 'null'; 
} 

sqlText = " EXEC SP_Report_ByDept '"+DepartmentValue+"','"+AccountValue+"','"+startdt+"','"+enddt+"' "; 
+0

こんにちは。これを試してみました。動作していないようでした。 –

+0

BIRTでデバッグを有効にすると、データベースに送信される実際のクエリが表示されます。その情報を元の投稿に追加してください。 – Jeroen