画面パラメータの内容により実行されるSQL文を変える

SwitchタグおよびCaseタグを使用し画面パラメータの値により実行されるSQL文を変更します。

SQL文の一部を変更することも可能です。

記述例

<?xml version="1.0" encoding="utf-8"?>
<RuntimeConfig>
  ...

  <Queries>
    <Query id="利用者マスタ">
    <Switch Name="社員区分">
          <Case Value="1">
            select * from 社員マスタ
              <QueryParam id="利用者コード" Required="True"> where 社員CD = ?</QueryParam>
          </Case>
          <Default>
            select * from 利用者マスタ
              <QueryParam id="利用者コード" Required="True"> where 利用者CD = ?</QueryParam>
          </Default>
      </Switch>
    </Query>
    <Query id="利用者マスタ_UPDATE">
      update 利用者マスタ set 
        <QueryParam id="氏名"> 氏名 = ?</QueryParam>
        <QueryParam id="PASSWORD">,PASSWORD = ?</QueryParam>
    <Switch Name="管理者区分">
          <Case Value="1">
            ,ROLES = 'Admin'
          </Case>
          <Default>
            ,ROLES = 'User'
          </Default>
      </Switch>
      <QueryParam id="利用者コード" Required="True"> where 利用者コード = ?</QueryParam>
    </Query>
  </Queries>
</RuntimeConfig>

※Defaultタグは省略することが出来ます。どのCaseにも一致しない場合、SQL文は実行されません。

参照

SqlExecuter DataSetオブジェクト