ASP/VBScript

ASP(Classic ASP)とVBScriptを利用してシステム日付を取得し表示してみた

ASP(Classic ASP)内でVBScriptを利用するプログラムでは、システム日付を取得し、YYYYMMDD形式等に変換することができる。

今回は、ASP(Classic ASP)とVBScriptを利用してシステム日付を取得し表示したり、システム日付の値による条件分岐を行うプログラムを作成してみたので、そのプログラムを共有する。

前提条件

下記記事のASP(Classic ASP)とVBScriptを利用してOracleに接続するプログラムの作成が完了していること。

ASP(Classic ASP)とVBScriptを利用してOracleに接続するプログラムを作成してみたこれまでこのブログでは、ASP(Classic ASP)内でVBScriptを利用するプログラムでSQL Serverに接続していたが、...

サンプルプログラムの作成

サンプルプログラムの構成は、以下の通り。
サンプルプログラムの構成_1

サンプルプログラムの構成_2

なお、上記の赤枠は、前提条件のプログラムから追加・変更したプログラムである。

定数定義を行ったプログラムの内容は以下の通りで、比較用日付(STR_COMP_DATE)を定義している。

<%
  '各種定数を定義
  
  '比較用日付
  Const STR_COMP_DATE = "20220702"
%>

また、ASPのプログラムの内容は以下の通りで、システム日付をYYYYMMDD形式で表示すると共に、比較用日付(STR_COMP_DATE)より後の場合はユーザーデータテーブルの値を表示しないようにしている。

<%@ LANGUAGE="VBScript" %>
<!-- #include file="sub/subora.inc" -->
<!-- #include file="sub/subConst.inc" -->
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="Shift_JIS"/>
    <title>Oracle接続</title>
</head>
<body>
  
  <%
    'システム日付をYYYYMMDD形式で取得する
    Dim sysDate
    sysDate = Replace(Left(Now(),10), "/", "")
  %>
  <p>
    システム日付(YYYYMMDD形式) : <%= sysDate %>
  </p>
  <br/>
  
  <!-- システム日付が比較用日付より後の場合 -->
  <% If StrComp(sysDate, STR_COMP_DATE) > 0 Then %>
    
    Oracleのユーザーデータテーブル(USER_DATA)から、全データを取得します。<br/><br/>
 
    <%
       'USER_DATAテーブルから全データを取得する
       Dim userDataList
       Call GetUserDataList(userDataList)
    %>
  
    <!-- ユーザーデータを表示する -->
    <!-- データが無い場合は、メッセージを画面表示し終了する -->
    <% If userDataList.Count = 0 Then %>
       ユーザーデータテーブルにデータはありません。
    <% Else %>
      <table border="1" cellpadding="5">
        <tr>
          <th>ID</th>
          <th>名前</th>
          <th>生年月日</th>
          <th>性別</th>
          <th>メモ</th>
        </tr>
        <% 
          Dim user
          For Each user In userDataList 
        %>
        <tr>
          <td><%= user.getId() %></td>
          <td><%= user.getName() %></td>
          <td><%= user.getBirthDay() %></td>
          <td><%= user.getSex() %></td>
          <td><%= user.getMemo() %></td>
        </tr>
        <% Next %>
      </table>
    <% End If %>
  
    <%
      'ユーザーデータリストをクリアする
      userDataList.Clear
      Set userDataList = Nothing
      Set user = Nothing
    %>
    
  <% End If %>

</body>
</html>



サンプルプログラムの実行結果

サンプルプログラムの実行結果は、以下の通り。

1) Oracleのデータ取得元となるテーブルのデータを、以下のように設定する。
サンプルプログラムの実行結果_1

2) subConst.incのSTR_COMP_DATEの設定値を、以下の値(20220702)に設定する。
サンプルプログラムの実行結果_2

3) ブラウザ上でURLに「http://localhost/oracle.asp」を入力すると、2022年7月3日に実行した場合、以下の画面が表示されることが確認できる。
サンプルプログラムの実行結果_3

4) subConst.incのSTR_COMP_DATEの設定値を、以下の値(20220703)に設定する。
サンプルプログラムの実行結果_4

5) ブラウザ上でURLに「http://localhost/oracle.asp」を再度入力し、2022年7月3日に実行した場合、以下のように、ユーザーデータテーブルの値が表示されないことが確認できる。
サンプルプログラムの実行結果_5

要点まとめ

  • ASP(Classic ASP)内でVBScriptを利用するプログラムでは、システム日付を取得し、YYYYMMDD形式等に変換することができる。