社員マスタアクセス [VB]

Visual Basic ADO.NET [Community Express]

社員マスターテーブルアクセスクラス

販売管理データベースアクセス基本クラスから派生した社員テーブルアクセスクラスを作成します。この上の基本クラスは抽象クラスとして実装しているので、この社員テーブルアクセスクラスでインスタンスを生成します。

DBアクセス基本クラス サンプルプログラム

クラス図

社員テーブルアクセスクラスは、社員マスターテーブルのアクセスに必要なメンバーを実装します。

  • コンストラクタ(引数:なし)
  • 1レコード取得メソッド(引数:社員コード)
    Overloadsキーワードを指定して、メソッド内で、基本クラスの同名のレコード取得メソッドを呼び出す。基本クラスのメソッドの引数には、テーブル名、主キーフィールド名、社員コードを指定する。

このクラスに、レコード更新・削除・追加のメソッドを追加していけば、社員テーブルアクセス派生クラスが完成します。

ソースリストの枠内をクリックすると全選択できます。

Option Strict On
Imports System.Text.RegularExpressions

'////////////// 派生クラス:社員テーブルアクセスクラス ///////////////
Public Class ClsShainTableIO
  Inherits ClsHankanDBIO

  '===================================================================
  ' 機能:コンストラクタ
  ' 引数:なし
  '===================================================================
  Public Sub New()

      MyBase.New()

  End Sub

  '********************************************************************
  ' 機能:引数の社員コードのレコードを社員テーブルから取得する
  ' 引数:社員コード
  ' 戻値:取得したレコード
  '******1*********2*********3*********4*********5**********6*********7
  Public Overloads Function GetKeyData(shainCode As String) As DataTable

      Dim retDt As New DataTable    ' リターン値

      ' 引数Nothing(未設定)・空白チェック
      If shainCode.Length = 0 Then
          Throw New myShainCodeException("エラー:社員コードが未入力")
      End If

      ' 引数の前後の空白は除去する
      shainCode = shainCode.Trim()
      ' キー値文字チェック(キー値は英数字のみで構成されている)
      If Not Regex.IsMatch(shainCode, "^[0-9a-zA-Z]+$") Then
          ' 英数字以外はエラー
          Throw New myShainCodeException("エラー:社員コードに不正な文字あり")
      End If

      ' キー値長さチェック(社員コードは5桁)
      If Not shainCode.Length = 5 Then
          ' 5桁以外はエラー
          Throw New myShainCodeException("エラー:社員コードの桁数が正しくない")
      End If

      ' 社員テーブルから引数コードのレコードを取得する
      retDt = MyBase.GetKeyData("社員テーブル", "社員コード", shainCode)

      ' ◆戻値を設定してリターン
      Return retDt

  End Function

End Class