OleDbCommand.ExecuteScalarメソッド
OleDbCommandオブジェクトのExecuteScalarメソッドを使って、Accessの表(MDBファイル)のレコード数を取得するプログラムを作成します。
VB Express [MDB版] サンプルプログラム
- フォームにボタンとラベル2つを貼り付け
- ラベル2に、テーブルの全レコード数を表示
- 検索ボタンを押下して、OleDbCommandオブジェクトのExecuteScalarで商品マスター表の全レコード数を取得
- 接続文字列は、アプリケーション構成ファイルapp.configから取得するようにしてください。
Key | 列名 | データ型 | サイズ | 値要求 | 空文字列の許可 |
---|---|---|---|---|---|
● | 商品コード | テキスト型 | 5 | はい | いいえ |
商品名称 | テキスト型 | 30 | はい | いいえ | |
販売単価 | 数値 | 整数型 | はい | いいえ |
OleCommand.ExecuteScalarでテーブルの全レコード数を取得するサンプルはこちら
OleCommand.ExecuteScalarのサンプルはこちら
ソースリストの枠内をクリックすると全選択できます。
Option Strict On Imports System.Data.OleDb Public Class Form1 '********************************************************************* ' 検索ボタン押下処理 '********************************************************************* Private Sub Button1_Click( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click Try Using con As New OleDbConnection Using cmd As New OleDbCommand ' 接続文字列の設定(MDB) con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source=" & Application.StartupPath & _ "\販売管理データベース.mdb" ' OleDbCommand.Connectionプロパティの設定 cmd.Connection = con ' DB接続 con.Open() ' SQL文の設定 cmd.CommandText = "SELECT COUNT(*) FROM 商品マスター表" ' 全レコード数を取得しラベルに表示 Me.Label2.Text = CStr(cmd.ExecuteScalar()) End Using End Using Catch ex As Exception ' 例外が発生した時の処理 MessageBox.Show(ex.ToString) End Try End Sub End Class
ExecuteScalarは、最初の行の最初の列を返すので、単一の値を取得するSQL文を書けば、様々な値を求めることができます。
たとえば、最小値を求める時は、SQL文を"SELECT MIN(列名) FROM 表名" と記述します。
' 一番安い販売単価を求めるSQL文の設定 cmd.CommandText = "SELECT MIN(販売単価) FROM 商品マスター表" ' 一番安い販売単価 Dim min As Integer = cmd.ExecuteScalar()