社員データ更新クラスの実装
社員データ管理基本クラスから派生した社員データ管理追加クラスのメンバーを実装します。
サンプルプログラム
社員データ管理追加クラスは、社員データ基本クラスを継承したクラスで、次のメンバーを実装します。
- コンストラクタ(引数:なし)
- 社員コードプロパティ
- CreateDataRowメソッドで、社員マスターのデータ行(DataRow型)を生成
- 1レコード追加メソッド
Key | 列名 | データ型 | NULLを許容 |
---|---|---|---|
● | 社員コード | nchar(5) | しない |
社員氏名 | nvarchar(20) | しない | |
社員カナ | nvarchar(40) | しない | |
部署コード | nchar(4) | しない | |
更新日時 | datetime | しない |
ソースリストの枠内をクリックすると全選択できます。
Option Strict On Imports System.Text.RegularExpressions '////////// 基本クラス:社員データ基本クラス ////////// Public MustInherit Class ClsShainBase '<< ◆ソースリストはこちら◆ >> End Class '////////// 派生クラス:社員データレコード追加クラス ////////// Public Class ClsInsertShain Inherits ClsShainBase '======================================================= ' 機能:コンストラクタ ' 引数:なし '======================================================= Public Sub New() MyBase.New() End Sub '------------------------------------------------------- ' プロパティ:社員コード '------------------------------------------------------- Public Property ShainCode() As String ' Getプロパティ Get Return shainCodeValue End Get ' Setプロパティ Set(ByVal value As String) ' 【エラーチェック】 If value.Length = 0 Then ' 未入力はエラー Throw New myShainCodeException _ ("社員コードを入力してください") Else ' 数字以外はエラー If Not Regex.IsMatch(value, "^[0-9]+$") Then Throw New myShainCodeException _ ("社員コードに数字以外があります") Else ' 社員テーブルにアクセス Dim dbIO As New ClsShainTableIO ' 社員コードが社員マスタにあればエラー If dbIO.ExistKeyData(value) = True Then Throw New myShainCodeException _ ("社員コードは登録済みです") Else shainCodeValue = value End If End If End If End Set End Property '********************************************************** ' 機能:社員テーブルの行データを生成するメソッド ' 引数:なし ' 戻値:生成した行データ '******1*********2*********3*********4*********5**********6 Public Function CreateDataRow() As DataRow Dim retRow As DataRow ' リターン値 Dim dbIO As New ClsShainTableIO() ' 行データ生成 retRow = dbIO.CreateDataRow() Return retRow End Function '********************************************************** ' 機能:社員テーブルに1レコードを追加するメソッド ' 引数:行データ ' 戻値:追加したレコード数 '******1*********2*********3*********4*********5**********6 Public Function InsertRecord(ByVal shain As DataRow) As Integer Dim retInsertCount As Integer ' リターン値 Dim dbIO As New ClsShainTableIO() ' エラーチェックとデータセット Me.ShainCode = CStr(shain("社員コード")) MyBase.ShainShimei = CStr(shain("社員氏名")) MyBase.ShainKana = CStr(shain("社員カナ")) MyBase.koushinNichijiValue = DateTime.Now ' レコードの追加 retInsertCount = dbIO.InsertRecord(Me) Return retInsertCount End Function End Class