社員マスターテーブル更新 [VB 2010]
Visual Basic 2010/2008 やさしいADO.NET DBプログラム
社員マスターテーブルの1レコードを更新(Update)する画面プログラムを作成します。
社員マスター更新画面クラス
社員マスターの1レコードを更新する画面クラスの仕様
【検索ボタン押下処理】
- 社員コードを引数に指定して、社員データ更新クラスClsUpdateShainのインスタンスを生成(コンストラクタで、社員テーブルから引数にした社員コードのレコードを取得)
- ClsUpdateShainの社員氏名プロパティと社員カナプロパティから、社員氏名と社員カナを取得して画面に表示
【更新ボタン押下処理】
- 変更した社員氏名と社員カナを、社員氏名プロパティと社員カナプロパティで、ClsUpdateShainの内部変数にセット
- ClsUpdateShainを引数に指定して、UpdateKeyRecordメソッドを呼び出して、社員テーブルのレコードを更新
社員マスター表
| Key |
列名 |
データ型 |
NULLを許容 |
| ● |
社員コード |
nchar(5) |
しない |
|
社員氏名 |
nvarchar(20) |
しない |
|
社員カナ |
nvarchar(40) |
しない |
|
部署コード |
nchar(4) |
しない |
|
更新日時 |
datetime |
しない |
Option Strict On
Public Class FormUpdate
Private shain As ClsUpdateShain
Private busho As ClsSelectBusho
Private Sub FormUpdate_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Mybase.Load
ClearForm()
End Sub
Private Sub BtnRetrieval_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnRetrieval.Click
Try
shain = New ClsUpdateShain(TxtShainCode.Text)
TxtShainShimei.Text = shain.ShainShimei
TxtShainKana.Text = shain.ShainKana
busho = New ClsSelectBusho(shain.BushoCode)
CboBushoMei.SelectedIndex _
= CboBushoMei.FindString(busho.BushoMei)
TxtShainCode.Enabled = False
BtnRetrieval.Enabled = False
TxtShainShimei.Enabled = True
TxtShainKana.Enabled = True
CboBushoMei.Enabled = True
BtnRetrieval.Enabled = False
BtnUpdate.Enabled = True
TxtShainShimei.Focus()
Catch ex As myShainCodeException
MessageBox.Show(ex.Message, "社員コードエラー")
TxtShainCode.Focus()
Catch ex As myDBIOException
MessageBox.Show(ex.Message, "DBIO例外発生")
Catch ex As Exception
MessageBox.Show(ex.ToString, "例外発生")
End Try
End Sub
Private Sub BtnUpdate_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles BtnUpdate.Click
Try
Dim row As DataRow
row = shain.CreateDataRow()
row("社員コード") = TxtShainCode.Text
row("社員氏名") = TxtShainShimei.Text
row("社員カナ") = TxtShainKana.Text
row("部署コード") = CStr(CboBushoMei.SelectedValue)
shain.UpdateKeyRecord(row)
ClearForm()
MessageBox.Show("正常に更新されました", "更新処理")
Catch ex As myShainShimeiException
MessageBox.Show(ex.Message, "社員氏名エラー")
TxtShainShimei.Focus()
Catch ex As myShainKanaException
MessageBox.Show(ex.Message, "社員カナエラー")
TxtShainKana.Focus()
Catch ex As myBushoCodeException
MessageBox.Show(ex.Message, "部署コードエラー")
CboBushoMei.Focus()
Catch ex As myDBIOException
MessageBox.Show(ex.Message, "DBアクセスエラー")
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()
TxtShainCode.Focus()
End Sub
Private Sub ClearForm()
TxtShainCode.Text = Nothing
TxtShainShimei.Text = Nothing
TxtShainKana.Text = Nothing
Me.busho = New ClsSelectbusho()
CboBushoMei.DisplayMember = "部署名"
CboBushoMei.ValueMember = "部署コード"
CboBushoMei.DataSource = busho.BushoData
TxtShainCode.Enabled = True
BtnRetrieval.Enabled = True
TxtShainShimei.Enabled = False
TxtShainKana.Enabled = False
CboBushoMei.Enabled = False
BtnRetrieval.Enabled = True
BtnUpdate.Enabled = False
End Sub
End Class