自動採番サンプル [VB.NET]

Visual Basic.NET ADO.NETデータベースプログラミング

DataGrid DataAdapter.Fill

自動採番クラスのインスタンスを生成して、自動連番生成を確認するサンプルプログラム

自動連番生成サンプルプログラム

部門コードと連番の初期値を入力後、番号取得ボタンをクリックして、生成した番号をレベルに表示するプログラムを作成します。

実行例
コントロール プロパティ 設定値
TxtBumonCode Text ""
Button1 Text 番号取得
NumericUpDown1 Value 0
LblRenban BorderStyle FixedSingle

sample.mdbをプロジェクトフォルダ下のbinフォルダに置きます。

MDB版:サンプルプログラム

あらかじめ、OleDbCommand.ExecuteScalarメソッドで、社員テーブル表の全レコード数を求め、レコード数分のsyain配列要素を確保します。

そして、OleDbCommand.ExecuteReaderメソッドを実行して、全レコードデータをsyain配列に取得します。

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

Option Strict On
Imports System.Data.OleDb

Public Class FormSequenceNum
    Inherits System.Windows.Forms.Form

#Region " Windows フォーム デザイナで生成されたコード "
    ' 自動生成部分省略
#End Region

    '-----------------------------------------------------------
    ' 番号取得ボタンクリック処理
    '-----------------------------------------------------------
    Private Sub Button1_Click(ByVal sender As System.Object, _
        ByVal e As System.EventArgs) Handles Button1.Click

        Dim renban As ClsSequenceNum
        Dim initNum As Integer
        Dim bumonCode As String
        Dim sequenceNum As String

        Try
            ' 注:部門コードのエラーチェックは省略
            bumonCode = Me.TextBox1.Text

            If Me.NumericUpDown1.Value = 0 Then
                ' 自動連番生成クラスインスタンス生成
                renban = New ClsSequenceNum(bumonCode)
            Else
                ' 自動連番生成クラスインスタンス生成
                ' 連番初期値を引数で指定
                initNum = CInt(Me.NumericUpDown1.Value)
                renban = New clsSequenceNum(bumonCode, initNum)
            End If

            ' 連番を取得する
            sequenceNum = renban.GetSequenceNum()
            If sequenceNum = "" Then
                MessageBox.Show("採番に失敗しました", "エラー")
            Else
                Me.LblRenban.Text = sequenceNum
            End If

        Catch ex As Exception
            ' 例外が発生した時の処理
            MessageBox.Show(ex.Message, "エラー")

        End Try

    End Sub

End Class