社員マスター追加 [VB]

Visual Basic ADO.NET [Community Express]

社員マスター追加フォームクラスの実装

社員マスターテーブルの1レコードを追加(Insert)するフォーム(画面)プログラムを作成します。

サンプルプログラム

社員マスター表に1レコードを挿入する画面クラスの仕様

追加フォーム

【追加ボタンクリック処理】

  • 社員データ追加クラスClsInsertShainのインスタンスを生成
  • CreateDataRowメソッドで、社員マスターのデータ行(DataRow型)を生成
  • 画面からの入力データを、社員マスターデータ行の各列に代入
  • 社員テーブルデータ行を引数に指定して、InsertRecordメソッドで、社員マスターにレコードを追加
  • 各入力項目のエラーチェックは、社員コードSetプロパティ、社員氏名Setプロパティ、社員カナSetプロパティで行うので、ここではしなくてよい
  • レコード追加後画面を初期化
社員マスター表
Key 列名 データ型 NULLを許容
社員コード nchar(5) しない
社員氏名 nvarchar(20) しない
社員カナ nvarchar(40) しない
部署コード nchar(4) しない
更新日時 datetime しない

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

Option Strict On

'////////// 社員マスター追加画面クラス //////////
Public Class FormInsert

    '----------<< 追加ボタン押下処理 >>----------
    Private Sub BtnInsert_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles BtnInsert.Click

        Try
            Dim shain As New ClsInsertShain

            ' 社員テーブルのデータ行生成
            Dim row As DataRow
            row = shain.CreateDataRow()

            ' 画面からの入力データのセット
            row("社員コード") = TxtShainCode.Text
            row("社員氏名") = TxtShainShimei.Text
            row("社員カナ") = TxtShainKana.Text

            ' 社員テーブルに1レコードを追加
            shain.InsertRecord(row)

            ' 画面初期設定
            ClearForm()

            ' 正常終了メッセージ
            MessageBox.Show("正常に追加されました", "追加処理")
            TxtShainCode.Focus()

        Catch ex As myShainCodeException
            ' 社員コードエラー
            MessageBox.Show(ex.Message, "社員コード入力エラー")
            TxtShainCode.Focus()

        Catch ex As myShainShimeiException
            ' 社員氏名エラー
            MessageBox.Show(ex.Message, "社員氏名入力エラー")
            TxtShainShimei.Focus()

        Catch ex As myShainKanaException
            ' 社員カナエラー
            MessageBox.Show(ex.Message, "社員カナ入力エラー")
            TxtShainKana.Focus()

        Catch ex As myDBIOException
            ' DBアクセスクラス独自例外発生時
            MessageBox.Show(ex.Message, "DBIO例外発生")

        Catch ex As Exception
            ' その他例外発生時
            MessageBox.Show(ex.ToString, "例外発生")

        End Try

    End Sub

    '----------<< クリアボタン押下処理 >>----------
    Private Sub BtnClear_Click(ByVal sender As System.Object, _
		     ByVal e As System.EventArgs) Handles BtnClear.Click

        ' フォーム初期設定
        ClearForm()

    End Sub

    '----------<< フォーム初期設定処理 >>----------
    Private Sub ClearForm()

        TxtShainCode.Text = Nothing
        TxtShainShimei.Text = Nothing
        TxtShainKana.Text = Nothing
        TxtShainCode.Focus()

    End Sub

End Class