エクセル連携導入(派遣管理)-2.mzax

MZ Platformとは 掲示板 MZプラットフォームユーザー会掲示板 エクセル連携導入(派遣管理)-2.mzax

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • 著者
    投稿
  • #6743
    伊予研究会
    一般参加者

     チュートリアルのエクセル連携導入(派遣管理)-2.mzaxについて、ご教示下さい。
     サブルーチンID18接続の最後から2つ目のコンポーネント「データベースアクセスID7」では、イベント番号に2を指定しています。ID7に接続されているイベントは1だけですが、指定した番号が存在しない場合は番号を無視する処理となるのでしょうか。
     ちなみにメソッドを「SQL文を実行する」に変更しても、正常にジョブが実行されているようです。
    よろしくお願いします。

    #6745
    MZPlatformユーザー会
    サイト管理者

    お問い合わせありがとうございます。
    ご指摘の通り、このアプリケーションの中ではイベント番号を必要としない「SQL文を実行する(String)」でも正常に動作します。
    イベント番号を指定するメソッドを使用している理由としては、一つのアプリケーションの中で実行されるSQL文に区別をつけたい、今後改修、発展したときに必要になる場合があるなどが挙げられます。

    実行されるSQLはUpdate文とSelect文ですが、Update文は実行後、処理完了イベントが発生し、イベント内包データとして「更新された行数」が取得できます。
    Select文は実行後データ生成イベントが発生し、テーブルデータを取得できます。
    [サブルーチン(ID17)]が呼び出されると[データベースアクセス]のメソッドも呼び出されUpdate文もSelect文も両方実行されていますが、Update文ではデータ生成イベントは発生しません。

    仮に、SQLが両方Select文だった場合は、データ生成イベントに繋げてイベント番号1を設定した処理、イベント番号2を設定した処理、それぞれに呼び出されます。
    イベント番号を指定しない「SQL文を実行する(String)」の実行による発生イベントは「イベント番号0」という扱いになります。イベント番号を設定していない、または他のイベント番号に加えて番号0を設定している処理が起動されます。

    まとめますと、SQL文の種類により発生するイベントが違うことが、データ生成イベントの接続処理が呼び出されない大きな理由ですが、仮にデータ生成イベントが発生するSQL文がイベント番号2とともに実行されても、イベント番号1の処理は呼び出されません。イベント番号を指定しないSQL文が実行されても、イベント番号1の処理は呼び出されません。

    実は、メソッド「イベント番号を指定してSQL文を実行する(String,int)」を使用した場合でも、イベント番号を設定していない接続処理は起動されます。したがって、このアプリケーション内ではイベント番号は必須ではないのですが、実用のアプリケーションでは[データベースアクセス]で複数のSQL文を実行することが多く、チュートリアルという性質上、このような記載にしております。

    以上、ご不明な点がございましたら、どうぞ再度ご連絡ください。
    よろしくお願い申し上げます。

    #6748
    伊予研究会
    一般参加者

    複数のSQL文を実行する際にイベント番号が必要とのこと。開発の参考にさせていただきます。
    この度はありがとうございました。

3 件の投稿を閲覧中 - 1 ~ 3 件(全 3 件)
  • このトピックに返信するには、ログインしてください。