社員マスターIO 更新メンバー[VB 2013]

Visual Basic 2010/2008 やさしいADO.NET DBプログラム

   やさしいVB 2010 / 2008 ADO.NET

社員データ選択更新削除クラスから派生した社員テーブルアクセス選択クラスを作成します。この上の基本クラスは抽象クラスとして実装しているので、この社員データ選択クラスでインスタンスを生成します。

社員マスターアクセス 選択関連メンバー

クラス図

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

  • コンストラクタ(引数:なし)
  • 1レコード取得メソッド(引数:社員コード)
    Overloadsキーワードを指定して、メソッド内で、基本クラスの同名のレコード取得メソッドを呼び出す。基本クラスのメソッドの引数には、テーブル名、主キーフィールド名、社員コードを指定する。
社員マスター表
Key 列名 データ型 NULLを許容
社員コード nchar(5) しない
社員氏名 nvarchar(20) しない
社員カナ nvarchar(40) しない
部署コード nchar(4) しない
更新日時 datetime しない
Option Strict On
Imports System.Text.RegularExpressions
 
'////////////// 派生クラス:社員テーブルアクセスクラス ///////////////
Public Class ClsShainTableIO
  Inherits ClsSampleDBIO
 
  '===================================================================
  ' 機能:コンストラクタ
  ' 引数:なし
  '===================================================================
  Public Sub New()
  
      MyBase.New()
 
  End Sub
 
  '********************************************************************
  ' 機能:引数の社員コードのレコードを社員テーブルから取得する
  ' 引数:社員コード
  ' 戻値:取得したレコード
  '******1*********2*********3*********4*********5**********6*********7
  Public Overloads Function GetKeyData(ByVal 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

Copyright© やさしいVB2012/2010 ADO.NET. All rights reserved.