http://www.opencbank.net/
cBankSupport topreleaseFAQversionpatch_downloadsupport_info
cSQLBuilder(TM) の変更履歴                  2004/01/05
[V1.0.0] - 2004/01/05
リリース

  【****リリース後の既知の問題****】
    【問題】
      repeat処理での注意点
      SQLインスタンスを生成するときに,<cond>タグや<expr>タグのrepeat属性を
      使用し,配列またはリストのパラメータを展開させた場合(in句の例など),
      このメソッドでプレースホルダの値を再設定するときに注意することがあります。
      repeatで展開された各バインド変数の変数名は,"<もとの変数名>[配列番号]"
      という変数名に変換される仕様です。SQL#setVariableValuesメソッドを使用
      するときに"<もとの変数名>"で配列およびリストを指定する記述では,バインド
      変数の値を更新することができません。

    【対応】
      SQL#setVariableValuesメソッドを使用するときは"<もとの変数名>[配列番号]"を
      Mapパラメータのキーにご指定ください。
      次に例を示します。
      
      はじめに
          params.put("KANJI_FAMILY_NAME", new String[] {"山田", "田中", "中山"});
          SQL sql = sqlBuilder.createSQL("CUSTOMER_select05", params);

      というMapパラメータから生成したSQLにバインドし直すとき,
          params.put("KANJI_FAMILY_NAME", new String[] {"阿部", "小泉", "山田"});
          sql.setVariableValues(params);

      ではなく, 
          params.put( "KANJI_FAMILY_NAME[0]", "阿部" );
          params.put( "KANJI_FAMILY_NAME[1]", "小泉" );
          params.put( "KANJI_FAMILY_NAME[2]", "山田" );
          sql.setVariableValues(params);

      のようになります。 

    【正誤】
      ・APIドキュメントにおいて、SQLBuilderJDOMFacadeクラスの以下のメソッドの
        実装に関する記述が誤っています。
        
          - callProcedure(Connection, String, Map)
          - executeSelect(Connection, String, Map)
          - executeUpdate(Connection, String, Map)

      (誤)
         sql = null;
         sql = sqlBuilder.createSQL(id, params);
      (正)
         SQL sql = sqlBuilder.createSQL(id, params);