10桁以上の画面入力数値からSOQL連結の注意点

APEXのSOQLの中に、普通は [select xxx from Tabel where a = :xxx]方式で、SOQLを発行しますが、文字列で、条件にて、連結でSOQL文を作成することがあります、この場合、連結したい項目の中に、数値は10桁以上が存在する場合、一つ注意点があります

String strSql = ‘ XXXXXXXXX ‘ + 画面数値の場合(inputText)、暗黙は Integerに転換する、そのため、2*32以上の数値を入力すると、異常エラーが発生する、下記方法で対応が可能

Decimal stVal = Decimal.valueOf(cond.画面入力項目).divide(1,1);

strWhere += ‘ AND XXXX <= ‘  +  + String.valueOf(stVal);

 

コメントを残す

メールアドレスが公開されることはありません。