パッケージ org.opengion.hayabusa.taglib

# クラス TableUpdateTag

java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.opengion.hayabusa.taglib.CommonTagSupport
org.opengion.hayabusa.taglib.QueryTag
org.opengion.hayabusa.taglib.TableUpdateTag

すべての実装されたインタフェース:
  `BodyTag`, `IterationTag`, `JspTag`, `Tag`, `TryCatchFinally`, `Serializable`

public class TableUpdateTag extends QueryTag
SQL文を直接指定して、データベースに追加/更新/削除を行います(queryType="JDBCTableUpdate")。 存在チェックを行う場合は、tableExist タグと併用してください。 複雑な処理が必要な場合は、従来より使用しています、PLSQLをCALLする、 plsqlUpdateタグを使用してください。 また、tableUpdateParam タグを使用する事で、テーブル名とsqlTypeの指定で動的に SQL文を自動生成できます。これにより、追加、更新、削除やテーブルに関して、 単一のJSP画面ですべて対応できるようになります。 7.2.9.3 (2020/11/06) queryType="JDBCTableMerge" と、"JDBCTableUpdate" を相互運用します。 tableUpdateParam ﾀｸﾞのsqlType="MERGE" を指定しておくと、 UPDATE文とINSERT文を両方とも作成して、有れば更新なければ追加処理を行います。 その場合、queryTypeを、JDBCTableMerge に変更します。 sqlType が従来の"INSERT"や"UPDATE" の場合は、queryTypeを、JDBCTableUpdate に変更します。 この変換は、"JDBCTableMerge" と、"JDBCTableUpdate" を相互運用します。 ※ このタグは、Transaction タグの対象です。

関連項目:
  - 直列化された形式
変更履歴:
  3.8.8.0 (2007/12/22) 新規作成
機能分類
  ＤＢ登録
形式ｻﾝﾌﾟﾙ:
  ●形式：<og:tableUpdate command="…" names="…" queryType="JDBCTableUpdate" > {@SQL} </og:tableUpdate> ●body：あり(EVAL_BODY_BUFFERED:BODYを評価し、{@XXXX} を解析します) ●Tag定義： <og:tableUpdate queryType 【TAG】Query を発行する為のクラスID(JDBCTableUpdate,JDBCTableMerge)を指定します() sqlType 【TAG】BODY部に書かれている Param の SQLタイプを指定します(INSERT,COPY,UPDATE,MODIFY,DELETE,MERGE,無指定) command 【TAG】コマンド (NEW,RENEW)をセットします(PlsqlUpdateTag,UpdateTag の場合は、ENTRY) scope 【TAG】キャッシュする場合のスコープ[request/page/session/application]を指定します(初期値:session) displayMsg 【TAG】検索結果を画面上に表示するメッセージリソースIDを指定します (初期値:VIEW_DISPLAY_MSG[=]) resourceType 【特殊】クリアするリソースの種類[GEA03/GEA04/GEA08]を指定します conditionKey 【TAG】条件判定するカラムＩＤを指定します(初期値:null) conditionList 【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件) 7.0.1.8 (2019/01/28) 正規表現に変更 tableId 【TAG】(通常は使いません)結果のDBTableModelを、sessionに登録するときのキーを指定します dbid 【TAG】(通常は使いません)Queryオブジェクトを作成する時のDB接続IDを指定します selectedAll 【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) selectedOne 【TAG】データを1件選択済みとして処理するかどうか[true/false]を指定します(初期値:false) changeOnly 【TAG】変更があったデータのみを処理するかどうか[true/false]を指定します(初期値:false)　7.4.2.0 (2021/04/30) commitTableModel 【特殊】SQL実行後に結果をDBTableModelに反映させるかどうか[true/false]を指定します(初期値:true) followCdkh 【TAG】DBTableModelの改廃Cに従って処理を行うかを指定します quotCheck 【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します(初期値:false) useTimeView 【TAG】処理時間を表示する TimeView を表示するかどうかを指定します (初期値:VIEW_USE_TIMEBAR[=])。 useSLabel 【TAG】7.0.7.0 (2019/12/13) ｴﾗｰﾒｯｾｰｼﾞにSLABELを利用するかどうか[true/false]を指定します(初期値:false) caseKey 【TAG】このタグ自体を利用するかどうかの条件キーを指定します(初期値:null) caseVal 【TAG】このタグ自体を利用するかどうかの条件値を指定します(初期値:null) caseNN 【TAG】指定の値が、null/ゼロ文字列 でない場合(Not Null=NN)は、このタグは使用されます(初期値:判定しない) caseNull 【TAG】指定の値が、null/ゼロ文字列 の場合は、このタグは使用されます(初期値:判定しない) caseIf 【TAG】指定の値が、true/TRUE文字列の場合は、このタグは使用されます(初期値:判定しない) debug 【TAG】デバッグ情報を出力するかどうか[true/false]を指定します(初期値:false) > ... Body ... </og:tableUpdate> ●使用例 ・QUERYを他のJSPから渡す場合 【copy.jsp】 <og:hidden name="SQL" > INSERT INTO GE41 (CLM,NAME_JA,LABEL_NAME,KBSAKU,SYSTEM_ID,LANG, FGJ,DYSET,DYUPD,USRSET,USRUPD,PGUPD) VALUES ([CLM],[NAME_JA],[LABEL_NAME],[KBSAKU],[SYSTEM_ID],[LANG], '1','{@USER.YMDH}','{@USER.YMDH}','{@USER.ID}','{@USER.ID}','{@GUI.KEY}') </og:value> 【entry.jsp】 <og:tableUpdate command = "{@command}" queryType = "JDBCTableUpdate" {@SQL} </og:tableUpdate> ・tableUpdateParamを使用する場合 【entry.jsp】 <og:tableUpdate command = "{@command}" queryType = "JDBCTableUpdate" sqlType = "{@sqlType}" // tableUpdateParam の sqlType と一致 > <og:tableUpdateParam sqlType = "{@sqlType}" // INSERT,COPY,UPDATE,MODIFY,DELETE,MERGE table = "{@TABLE_NAME}" // 処理対象のテーブル名 names = "{@names}" // 処理対象のカラム名 omitNames = "{@omitNames}" // 処理対象外のカラム名 where = "{@where}" // 処理対象を特定するキー constKeys = "{@constKeys}" // 処理カラム名の中の固定情報カラム名 constVals = "{@constVals}" // 処理カラム名の中の固定情報設定値 /> </og:tableUpdate> ・処理の可否を指定する場合 【entry.jsp】 <og:tableUpdate command = "{@command}" queryType = "JDBCTableUpdate" conditionKey ="…" : 条件判定するカラムＩＤを指定(初期値は columnId ) conditionList ="…" : 条件判定する値のリストを、"|"で区切って登録(初期値は、無条件) {@SQL} </og:tableUpdate> ・JDBCTableUpdate のまま、sqlType="MERGE" を指定する場合。 一つのtableUpdateParamで、両方(UPDATE,INSERT)の処理を実行します。 【entry.jsp】 <og:tableUpdate command = "{@command}" queryType = "JDBCTableUpdate" <og:tableUpdateParam sqlType = "MERGE" // INSERT or UPDATE table = "{@TABLE_NAME}" // 処理対象のテーブル名 names = "{@names}" // 処理対象のカラム名 omitNames = "{@omitNames}" // 処理対象外のカラム名 where = "{@where}" // 処理対象を特定するキー（INSERT時には使われず、UPDAET時に使われる。） constKeys = "{@constKeys}" // 処理カラム名の中の固定情報カラム名 constVals = "{@constVals}" // 処理カラム名の中の固定情報設定値 /> </og:tableUpdate>
導入されたバージョン:
  JDK5.0,

- ## フィールドの概要

  フィールド
  修飾子とタイプ
  フィールド
  説明
  `static final String`
  `CMD_ENTRY`
  command 引数に渡す事の出来る コマンド 登録"ENTRY"

  ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.QueryTag

  `CMD_NEW, CMD_RENEW, command, dispError, displayMsg, dyStart, ERR_MSG_ID, errCode, errMessage, executeCount, maxRowCount, names, outMessage, skipRowCount, sql, stopError, table, tableId, useSLabel, useTimeView, xssCheck`

  ### クラスから継承されたフィールド org.opengion.hayabusa.taglib.CommonTagSupport

  `BR, BUFFER_MIDDLE, CR`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport

  `bodyContent`

  ### クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport

  `id, pageContext`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag

  `EVAL_BODY_BUFFERED, EVAL_BODY_TAG`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag

  `EVAL_BODY_AGAIN`

  ### インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag

  `EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE`

- ## コンストラクタの概要

  コンストラクタ
  コンストラクタ
  説明
  `TableUpdateTag()`
  デフォルトコンストラクター

- ## メソッドの概要

  修飾子とタイプ
  メソッド
  説明
  `int`
  `doEndTag()`
  Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
  `int`
  `doStartTag()`
  Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
  `protected void`
  `execute(Query query)`
  Query を実行します。
  `protected String[]`
  `getNames()`
  引数の名称配列。
  `protected int[]`
  `getParameterRows()`
  表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行番号の 配列を返します。
  `protected String`
  `getSqlType()`
  SQLタイプを返します。
  `protected void`
  `release2()`
  タグリブオブジェクトをリリースします。
  `void`
  `setChangeOnly(String change)`
  【TAG】変更があったデータのみを処理するかどうか[true/false]を指定します(初期値:false)。
  `void`
  `setCommitTableModel(String commitTblMdl)`
  【特殊】SQL実行後に結果をDBTableModelに反映させるかどうか[true/false]を指定します(初期値:true)。
  `void`
  `setConditionKey(String key)`
  【TAG】条件判定するカラムＩＤを指定します(初期値:null)。
  `void`
  `setConditionList(String list)`
  【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
  `void`
  `setFollowCdkh(String flag)`
  【TAG】DBTableModelの改廃Cに従って処理を行うかを指定します。
  `void`
  `setQueryType(String id)`
  【TAG】Query を発行する為のクラスID(JDBCTableUpdate,JDBCTableMerge)を指定します()。
  `void`
  `setQuotCheck(String flag)`
  【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します(初期値:false)。
  `void`
  `setResourceType(String type)`
  【特殊】クリアするリソースの種類[GEA03/GEA04/GEA08]を指定します。
  `void`
  `setSelectedAll(String all)`
  【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
  `void`
  `setSelectedOne(String one)`
  【TAG】データを1件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
  `void`
  `setSqlType(String type)`
  【TAG】BODY部に書かれている Param の SQLタイプを指定します。
  `String`
  `toString()`
  このオブジェクトの文字列表現を返します。

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.QueryTag

  `addPlaceValue, doAfterBody, getRequest, setCheckNames, setCommand, setDbid, setDispError, setDisplayMsg, setMainTrans, setMaxRowCount, setModifyType, setNames, setNotfoundMsg, setOutMessage, setOverflowMsg, setQuery, setSkipRowCount, setStopError, setStopZero, setTableId, setTrace, setUseBeforeHtmlTag, setUseSLabel, setUseTimeView, setXssCheck`

  ### クラスから継承されたメソッド org.opengion.hayabusa.taglib.CommonTagSupport

  `add, add, addEventColumn, addEventColumn, check, commitTableObject, debugPrint, debugPrint, doCatch, doFinally, get, getApplicationInfo, getAttributes, getBodyRawString, getBodyString, getContextAttribute, getContextPath, getCookie, getCSVParameter, getCSVParameter, getDateFormat, getDBColumn, getDBFunctionName, getDocumentLink, getGUIInfo, getGUIInfoAttri, getHostName, getLabel, getLabelInterface, getLanguage, getLongLabel, getMsg, getMsglbl, getObject, getParameterNames, getRequest, getRequestAttribute, getRequestCacheData, getRequestMethod, getRequestParameter, getRequestParameterValues, getRequestValue, getRequestValue, getRequestValues, getReservedParameter, getReservedValue, getResource, getSanitizedBodyString, getScope, getSessionAttribute, getTagName, getTransaction, getUser, getUserEditInfo, getUserInfo, isAjaxSubmitRequest, isDebug, isNoTransitionRequest, isNull, jspPrint, makeUrl, removeContextAttribute, removeObject, removeRequestAttribute, removeSessionAttribute, set, setAjaxSubmitRequest, setCaseIf, setCaseKey, setCaseNN, setCaseNull, setCaseVal, setContextAttribute, setCookie, setDebug, setLanguage, setLbl, setNoTransitionRequest, setObject, setObject, setParameterNames, setParameterRows, setRequestAttribute, setRequestCacheData, setScope, setSessionAttribute, setUserInfo, startQueryTransaction, sys, sysBool, sysInt, useMainTrans, useQuotCheck, useTag, useXssCheck`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport

  `doInitBody, getBodyContent, getPreviousOut, release, setBodyContent`

  ### クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport

  `findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue`

  ### クラスから継承されたメソッド java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

  ### インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag

  `getParent, setPageContext, setParent`

- ## フィールド詳細

  - ### CMD_ENTRY

    public static final String CMD_ENTRY
    command 引数に渡す事の出来る コマンド 登録"ENTRY"
    関連項目:
      - 定数フィールド値

- ## コンストラクタの詳細

  - ### TableUpdateTag

    public TableUpdateTag()
    デフォルトコンストラクター
    変更履歴:
      6.4.2.0 (2016/01/29) PMD refactoring. Each class should declare at least one constructor.

- ## メソッドの詳細

  - ### doStartTag

    public int doStartTag()
    Taglibの開始タグが見つかったときに処理する doStartTag() を オーバーライドします。
    定義:
      `doStartTag` インタフェース内 `Tag`
    オーバーライド:
      `doStartTag` クラス内 `QueryTag`
    戻り値:
      後続処理の指示( EVAL_BODY_BUFFERED )
    変更履歴:
      4.0.0.0 (2007/11/14) 0件の場合でもstartQueryTransactionを通すように変更, 5.1.7.0 (2010/06/01) quotCheckを指定できるようにする。※但し、初期値はfalse固定。, 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応

  - ### doEndTag

    public int doEndTag()
    Taglibの終了タグが見つかったときに処理する doEndTag() を オーバーライドします。
    定義:
      `doEndTag` インタフェース内 `Tag`
    オーバーライド:
      `doEndTag` クラス内 `QueryTag`
    戻り値:
      後続処理の指示
    変更履歴:
      4.0.0.0 (2007/10/18) メッセージリソース統合( getResource().getMessage ⇒ getResource().getLabel ), 6.3.4.0 (2015/08/01) caseKey,caseVal,caseNN,caseNull,caseIf 属性対応, 6.4.1.2 (2016/01/22) QueryTag.errMsgId → QueryTag.ERR_MSG_ID refactoring, 6.9.9.0 (2018/08/20) ｢ERR0041:検索処理中に割り込みの検索要求がありました｣エラーを、標準のErrorMessageに追加するようにします。, 7.0.7.0 (2019/12/13) useSLabel 属性を追加。

  - ### release2

    protected void release2()
    タグリブオブジェクトをリリースします。 キャッシュされて再利用されるので、フィールドの初期設定を行います。
    オーバーライド:
      `release2` クラス内 `QueryTag`
    変更履歴:
      4.0.2.0 (2007/12/25) commitTableModel追加, 4.1.2.0 (2008/03/12) sqlType追加, 5.1.7.0 (2010/06/01) quotCheckを指定できるようにする。※但し、初期値はfalse固定。, 7.2.9.1 (2020/10/23) TableUpdateParamTag のマージ(UPDATE,INSERT)対応, 7.4.2.0 (2021/04/30) selectedOne、changeOnlyを追加します

  - ### execute

    protected void execute(Query query)
    Query を実行します。
    オーバーライド:
      `execute` クラス内 `QueryTag`
    パラメータ:
      `query` - オブジェクト
    変更履歴:
      4.0.2.0 (2007/12/25) commitTableModel追加, 6.3.6.1 (2015/08/28) close(),realClose() 廃止。Queryはキャッシュしません。

  - ### getParameterRows

    protected int[] getParameterRows()
    表示データの HybsSystem.ROW_SEL_KEY を元に、選ばれた 行番号の 配列を返します。 ここでは、conditionKey に値が設定されている場合は、そのカラムの値が conditionList にマッチする場合のみ対象選択行として返します。 値がセットされていない場合は、通常のCommonTagSupport#getParameterRows() が呼ばれます。 なにも選ばれていない場合は、サイズ０の配列を返します。
    オーバーライド:
      `getParameterRows` クラス内 `CommonTagSupport`
    戻り値:
      (選ばれていない場合は、サイズ０の配列を返す)
    変更履歴:
      4.3.2.0 (2008/09/09) followCdkh属性対応, 7.0.1.8 (2019/01/28) conditionListの判定を、正規表現に変更, 7.4.2.0 (2021/04/30) selectedOne、changeOnlyを追加します
    このﾒｿｯﾄﾞは、nullを返しません

  - ### setQueryType

    public void setQueryType(String id)
    【TAG】Query を発行する為のクラスID(JDBCTableUpdate,JDBCTableMerge)を指定します()。
    オーバーライド:
      `setQueryType` クラス内 `QueryTag`
    パラメータ:
      `id` - Queryタイプ
    関連項目:
      - `Queryのサブクラス`
      - `Query.execute(int[],DBTableModel)`
    説明:
      引数指定のUPDATE,INSERT,DELETE文を実行する場合の、queryType 属性を使用します。 このタグでは、execute( int[] ,DBTableModel )を実行します。 代表的なクラスとして、"JDBCTableUpdate" が標準で用意されています。 タグにより使用できる／出来ないがありますが、これは、org.opengion.hayabusa.db 以下の Query_**** クラスの **** を与えます。 これらは、Query インターフェースを継承したサブクラスです。

  - ### setResourceType

    public void setResourceType(String type)
    【特殊】クリアするリソースの種類[GEA03/GEA04/GEA08]を指定します。
    パラメータ:
      `type` - クリアリソースタイプ [GEA03/GEA04/GEA08]
    説明:
      注意：この属性は、リソース関連DBのメンテナンス時にのみ、内部リソースキャッシュを クリアする目的で使用します。一般の属性としては、使用することはないため、 ご注意ください。 リソース関連のテーブルを更新した場合、リソースキャッシュをクリアして 置かないと、データベースの値が反映されません。 昔は、リソースの更新ごとに、全件クリアしていましたが、部分クリアが できるようになったため、部分クリアを行います。 こでは、(GEA03,GEA04,GEA08) のどれかを指定してください。

  - ### setConditionKey

    public void setConditionKey(String key)
    【TAG】条件判定するカラムＩＤを指定します(初期値:null)。
    パラメータ:
      `key` - 条件判定カラム
    関連項目:
      - `setConditionList(String)`
    説明:
      指定のカラムＩＤの値と、conditionList の値を比較して、 存在する場合は、Query 処理を実行します。 例えば、conditionKey="CDKH" として、conditionList="A" とすれば、 改廃コードが"A"のデータで、かつ選択されたデータのみを処理します。 設定しない場合は、通常の処理と同様に、選択行のみ処理されます。

  - ### setConditionList

    public void setConditionList(String list)
    【TAG】条件判定する値のリストを、"|"で区切って登録します(初期値:無条件)。
    パラメータ:
      `list` - 条件判定値 ("|"区切のリスト)
    関連項目:
      - `setConditionKey(String)`
    変更履歴:
      7.0.1.8 (2019/01/28) conditionListの判定を、正規表現に変更
    説明:
      conditionKey とペアで指定します。ここには、カラムの設定値のリストを 指定することで、複数条件(ＯＲ結合)での比較を行い、リストにカラム値が 存在する場合のみ、Query 処理を実行します。 値が設定されている場合は、その値とマッチする必要があります。なにもセット されない場合、または、null の場合は、null データとマッチする場合のみ処理 されますので、ご注意ください。

  - ### setSelectedAll

    public void setSelectedAll(String all)
    【TAG】データを全件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
    パラメータ:
      `all` - データを全件選択済み [true:全件選択済み/false:通常]
    説明:
      全てのデータを選択済みデータとして扱って処理します。 全件処理する場合に、(true/false)を指定します。 初期値は false です。 changeOnly よりも selectedAll="true" が優先されます。 7.4.2.0 (2021/04/30)

  - ### setSelectedOne

    public void setSelectedOne(String one)
    【TAG】データを1件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)。
    パラメータ:
      `one` - 先頭行の1件だけを選択済みとして処理するかどうか [true:処理する/false:通常]
    変更履歴:
      7.4.2.0 (2021/04/30) データを1件選択済みとして処理するかどうか[true/false]を指定します(初期値:false)
    説明:
      先頭行の1件だけを選択済みとして処理します。 まとめ処理のデータを処理する場合などに使われます。 初期値は false です。

  - ### setChangeOnly

    public void setChangeOnly(String change)
    【TAG】変更があったデータのみを処理するかどうか[true/false]を指定します(初期値:false)。
    パラメータ:
      `change` - 変更があったデータのみを処理するかどうか [true:変更分のみ/false:通常]
    変更履歴:
      7.4.2.0 (2021/04/30) 変更があったデータのみを処理するかどうか[true/false]を指定します(初期値:false)
    説明:
      変更があったデータのみを処理します。 selectedAll="true" が指定された場合は、全件処理が優先されます。 通常は、チェックされた行のみか、selectedAll で全件処理しますが、空更新のデータは 登録したくないケースに、元データと異なる行のみ処理します。 初期値は false です。

  - ### setCommitTableModel

    public void setCommitTableModel(String commitTblMdl)
    【特殊】SQL実行後に結果をDBTableModelに反映させるかどうか[true/false]を指定します(初期値:true)。
    パラメータ:
      `commitTblMdl` - 反映有無 [true:反映する/false:反映しない]
    変更履歴:
      4.0.2.0 (2007/12/25) 新規作成
    説明:
      注意：この属性は、リソース関連DBのメンテナンス時に、複数DBへの登録を行うための、 暫定対応として定義しています。 falseにした場合は、実データとDBTableModelの整合性が取れなくなるため、使用には十分注して下さい。 初期値は true です。

  - ### getNames

    protected String[] getNames()
    引数の名称配列。
    戻り値:
      名称配列

  - ### setSqlType

    public void setSqlType(String type)
    【TAG】BODY部に書かれている Param の SQLタイプを指定します。
    パラメータ:
      `type` - SQLタイプ
    変更履歴:
      4.1.2.0 (2008/03/12) 新規追加
    説明:
      TableUpdateParamTag は、上位の TableUpdateTag の sqlType 属性 と同じ sqlType 属性の場合のみ、SQL文を合成・出力します。 つまり、TableUpdateTag側のsqlType 属性をパラメータに、TableUpdateParamTag の sqlType 属性を固定値にすることで、どのパラメータを使用するかを 選択できる機能を実現する事が可能です。 7.2.9.3 (2020/11/06) 複数指定できるようにします。

  - ### setFollowCdkh

    public void setFollowCdkh(String flag)
    【TAG】DBTableModelの改廃Cに従って処理を行うかを指定します。
    パラメータ:
      `flag` - 改廃C処理 [true:行う/false:行わない]
    変更履歴:
      4.3.2.0 (2008/09/09) 新規追加
    説明:
      この属性は、sqlTypeが指定されている場合のみ有効です。 sqlTypeが指定されている場合、そのsqlTypeに対応した、改廃Cが設定されている 行のみを処理します。 対応関係は、以下の通りです。 sqlType = "INSERT" or "COPY" ⇒ 改廃C='A'のみ処理 // * sqlType = "UPDATE" or "CHANGE" ⇒ 改廃C='C'のみ処理 sqlType = "UPDATE" or "MODIFY" ⇒ 改廃C='C'のみ処理 sqlType = "DELETE" ⇒ 改廃C='D'のみ処理

  - ### setQuotCheck

    public void setQuotCheck(String flag)
    【TAG】リクエスト情報の シングルクォート(') 存在チェックを実施するかどうか[true/false]を設定します(初期値:false)。
    オーバーライド:
      `setQuotCheck` クラス内 `QueryTag`
    パラメータ:
      `flag` - クォートチェック [true:する/それ以外:しない]
    変更履歴:
      5.1.7.0 (2010/06/01) 新規追加
    説明:
      ＳＱＬインジェクション対策の一つとして、暫定的ではありますが、SQLのパラメータに 渡す文字列にシングルクォート(') を許さない設定にすれば、ある程度は防止できます。 数字タイプの引数には、 or 5=5 などのシングルクォートを使用しないコードを埋めても、 数字チェックで検出可能です。文字タイプの場合は、必ず (')をはずして、 ' or 'A' like 'A のような形式になる為、(')チェックだけでも有効です。 (') が含まれていたエラーにする(true)／かノーチェックか(false)を指定します。 ※(他のタグは、システムリソースのUSE_SQL_INJECTION_CHECK[=]) ですが、JSPの互換性を考慮し、初期値を固定でfalseにしています)

  - ### getSqlType

    protected String getSqlType()
    SQLタイプを返します。
    戻り値:
      SQLタイプ
    変更履歴:
      4.1.2.0 (2008/03/12) 新規追加

  - ### toString

    public String toString()
    このオブジェクトの文字列表現を返します。 基本的にデバッグ目的に使用します。
    オーバーライド:
      `toString` クラス内 `QueryTag`
    戻り値:
      このクラスの文字列表現
    変更履歴:
      4.0.2.0 (2007/12/25) resourceColumn、commitTableModel追加
    このﾒｿｯﾄﾞは、nullを返しません