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メソッド