レコード数を取得 [VB.NET]

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

Command.ExecuteScalarでレコード数取得

CommandオブジェクトのExecuteScalarメソッドを使って、テーブルのレコード数を取得することができます。

SELECT COUNT(*) FROM 部門テーブル

部門テーブルのレコード数を取得して、その結果をラベルコントロールに表示するプログラムを作成します。

実行例
コントロール プロパティ 設定値
BtnSelect Text 検索
LblRecCount BorderStyle Fixed3D

サンプルプログラム

COUNT関数の引数にアスタリスクを指定すると、テーブルの全レコード数を求めることができます。
"SELECT COUNT(*) FROM 部門テーブル"

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

Imports System.Data.OleDb

Public Class FormSelectCount
  Inherits System.Windows.Forms.Form

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

  '-----------------------------------------------------------
  ' 検索ボタンクリック処理:部門テーブルのレコード数を取得
  '-----------------------------------------------------------
  Private Sub BtnSelect_Click _
      (ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles BtnSelect.Click

      Dim con As New OleDbConnection()
      Dim cmd As New OleDbCommand()

      Try
          ' DB接続文字列の設定
          con.ConnectionString = _
              "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _
              Application.StartupPath & "\sample.mdb"

          ' コネクションの設定
          cmd.Connection = con

          ' DB接続
           con.Open()

          ' SQL文の設定
          cmd.CommandText = "SELECT COUNT(*) FROM 部門テーブル"


          ' 部門テーブルのレコード件数取得 
          Me.LblRecCount.Text = CStr(cmd.ExecuteScalar())

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

      Finally
          ' DBクローズ
          If Not con Is Nothing Then
              con.Close()
          End If

      End Try

  End Sub

End Class

便利なExecuteScalarメソッド