VB.NETデータベースプログラミング
「ADO.NETデータベースプログラミング」は、ADO.NETの基本的なプログラミングを中心に、すぐ使えるサンプルプログラムが満載のメールマガジンです。
For reliable advice about system selection, consult with heating professionals.
メールマガジン購読申込
メルマガ登録・解除
VB.NETデータベースプログラミング奮闘記
>> バックナンバーpowered by まぐまぐ!
メールマガジン サンプル
サンプル
======================================================================
★★ VB.NETデータベースプログラミング奮闘記 ★★
----------------------------------------------------------------------
いつもご購読ありがとうございます。ADO.NETの基本的なプログラミングを中
心に掲載しますので、今後ともよろしくお願い申し上げます。
すぐ使えるADO.NET --> サンプルプログラム満載
http://park5.wakwak.com/~weblab/
======================================================================
■■ ADO.NETのトランザクション制御1 ■■
トランザクション制御を使用して、社員テーブルと権限テーブルに登録する
プログラムを作成します。
登録ボタンを押すと、入力されたデータのエラーチェックをし、エラーがなけ
れば、社員コード、氏名、カナ、部門コードを社員テーブルに、パスワードを
権限テーブルに登録します。この時、トランザクション制御を行います。
btnClearを押すと、入力データをクリアして、初期画面に戻します。
----------------------------------------------------------------------
◆エラーチェックは、社員登録クラスclsSyainTorokuのSetプロパティに実装
します。入力エラーがあれば、clsExceptionクラスの例外をスローします。
clsException例外クラスは、独自のエラーメッセージを表示するためのクラス
として実装します。
clsDBIOクラスは、社員登録で使うメソッドのみ実装していますが、実際には、
必要なメンバをすべて実装します。
----------------------------------------------------------------------
今回は、フォームクラスのソースリストを掲載します。他のクラスは、次回以
降になります。ご了承ください。
--【プログラムソースリスト】------------------------------------------
Imports System.Data.OleDb
Public Class Form1
Inherits System.Windows.Forms.Form
#Region " Windows フォーム デザイナで生成されたコード "
'自動生成部分省略
#End Region
'----------<< フォームロード処理>>----------
Private Sub Form1_Load _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles MyBase.Load
Try
Dim oDBIO As New clsDBIO()
Dim oDataTable As DataTable
'部門テーブルの全レコードを取得する
oDataTable = oDBIO.getAllBumon()
'コンボボックスに部門名を表示できるように設定する
Me.cmbBumonMei.DisplayMember = "部門名"
'部門名に対応した部門コードを SelectdValue で取得する
Me.cmbBumonMei.ValueMember = "部門コード"
'コンボボックスに部門テーブルデータを連結する
Me.cmbBumonMei.DataSource = oDataTable
Catch oExcept As Exception
'例外が発生した時の処理
MessageBox.Show(oExcept.ToString, "フォームロード例外発生")
End Try
End Sub
'----------<< コンボボックスの選択値が変更された場合>>----------
Private Sub cmbBumonMei_SelectedIndexChanged _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles cmbBumonMei.SelectedIndexChanged
'選択した部門コードをラベルに表示
If Me.cmbBumonMei.SelectedIndex <> -1 Then
Me.lblBumonCode.Text = CStr(Me.cmbBumonMei.SelectedValue)
End If
End Sub
'----------<< 登録ボタン処理(社員テーブルにレコード追加)>>----------
Private Sub btnInsert_Click _
(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles btnInsert.Click
Try
Dim oDBIO As New clsDBIO()
Dim oSyain As New clsSyainToroku()
'入力項目のエラーチェック
oSyain.p社員コード = Me.txtSyainCode.Text
oSyain.p社員氏名 = Me.txtSyainSimei.Text
oSyain.p社員カナ = Me.txtSyainKana.Text
oSyain.p部門コード = Me.lblBumonCode.Text
oSyain.pパスワード = Me.txtPassWord.Text
'社員テーブルにレコード追加
Dim recCount As Integer
recCount = oDBIO.addSyainKengen(oSyain)
If recCount = 1 Then
MessageBox.Show("登録しました", "登録完了")
Else
MessageBox.Show("登録に失敗しました", "登録失敗")
End If
Catch oExcept As clsException
'例外が発生した時の処理
MessageBox.Show(oExcept.Message, "エラー発生")
Catch oExcept As Exception
'例外が発生した時の処理
MessageBox.Show(oExcept.ToString, "例外発生")
End Try
End Sub
End Class