' ************************' 性別コンボボックス' ************************
db.Query("SELECT コード,名称 from コード名称マスタ where 区分 = 1 order by コード")
Do While db.Read()
' DB よりデータセット
Me.性別.Add(db.GetValue("名称"), db.GetValue("コード"))
Loop
Me.性別.SelectedIndex = -1
' ************************' 所属コンボボックス' ************************
db.Query("SELECT コード,名称 from コード名称マスタ where 区分 = 2 order by コード")
Do While db.Read()
' DB よりデータセット
Me.所属.Add(db.GetValue("名称"), db.GetValue("コード"))
Loop
Me.所属.SelectedIndex = -1
' ************************' 新規' ************************
If Me.処理区分.SelectedValue = 1 Then
If db.QueryAndRead(Query) Then
MessageBox.Show("入力された社員コードは既に存在します ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.社員コード.Focus()
Else
Me.Protect(1, True)
Me.Protect(2, False)
Me.Protect(3, False)
Me.氏名.Focus()
End If
End If
場所 : 更新.Click
● DB 接続とDB 接続解除の間に記述します。
● 修正処理に並ぶように記述します
拡張子:
' ************************' 新規' ************************
If Me.処理区分.SelectedValue = 1 Then
If db.QueryAndRead(Query) Then
db.Close()
MessageBox.Show("入力された社員コードは他で作成されました ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
Else
If Me.性別.SelectedIndex = -1 Then
db.Close()
MessageBox.Show("入力された社員コードは他で削除されました ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
Query = "insert into 社員マスタ ("
Query += "社員コード,氏名,フリガナ,所属,性別,作成日"
Query += ",更新日,給与,手当,管理者,生年月日) values("
Query += "'" + Me.社員コード.InnerText + "'"
Query += ",'" + Me.氏名.InnerText + "'"
If (Me.フリガナ.InnerText).Trim() = "" Then
Query += ",NULL"
Else
Query += ",'" + Me.フリガナ.InnerText + "'"
End If
If Me.所属.SelectedIndex = -1 Then
Query += ",NULL"
Else
Query += ",'" + Me.所属.SelectedValue + "'"
End If
Query += "," + Me.性別.SelectedValue
Query += ",Now"
Query += ",Now"
If (Me.給与.InnerText).Trim() = "" Then
Query += ",NULL"
Else
Query += "," + Me.給与.InnerText
End If
If (Me.手当.InnerText).Trim() = "" Then
Query += ",NULL"
Else
Query += "," + Me.手当.InnerText
End If
If (Me.管理者.InnerText).Trim() = "" Then
Query += ",NULL"
Else
Query += ",'" + Me.管理者.InnerText + "'"
End If
If (Me.生年月日.InnerText).Trim() = "" Then
Query += ",NULL"
Else
Query += ",'" + Me.生年月日.InnerText + "'"
End If
Query += ")"
If -2 = db.Execute(Query) Then
db.Close()
MessageBox.Show("データベースの更新に失敗しました ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
End If
End If
If Me.性別.SelectedIndex = -1 Then
db.Close()
MessageBox.Show("性別を選択して下さい ", "エラー", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.性別.Focus()
Return
End If
' ************************' 削除' ************************
If Me.処理区分.SelectedValue = 3 Then
If Not db.QueryAndRead(Query) Then
db.Close()
MessageBox.Show("入力された社員コードは他で削除されました ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
Else
Query = "delete from 社員マスタ "
Query += " where 社員コード = '" + Me.社員コード.InnerText + "'"
If -2 = db.Execute(Query) Then
db.Close()
MessageBox.Show("データベースの更新に失敗しました ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
End If
End If
If Me.管理者.InnerText.Trim() = "" Then
Return
End If
If Not db.Connect() Then
MessageBox.Show("DB接続に失敗しました ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
Return
End If
Dim Query As String = String.Format("select" + _
" * from 社員マスタ " + _
" where 社員コード = '{0}'", _
Me.管理者.Text)
If Not db.QueryAndRead(Query) Then
Me.管理者名.InnerText = ""
db.Close()
MessageBox.Show("入力された管理者コードは存在しません ", _
"エラー", MessageBoxButtons.OK, MessageBoxIcon.Error)
' エラー扱い ( フィールドを離れられない )
e.Cancel = True
Return
End If