OleDbCommand.ExecuteScalar メソッド
クエリを実行し、そのクエリが返す結果セットの最初の行にある最初の列を返します。残りの列または行は無視されます。
Public Overridable Function ExecuteScalar() As Object Implements _ IDbCommand.ExecuteScalar
[C#]
public virtual object ExecuteScalar();
[C++]
public: virtual Object* ExecuteScalar();
[JScript]
public function ExecuteScalar() : Object;
戻り値
結果セットの最初の行の最初の列。結果セットが空の場合は、null 参照。
実装
例外
例外の種類 | 条件 |
---|---|
InvalidOperationException | 接続を登録した当初のトランザクション コンテキストとは異なるコンテキストでは、コマンドを実行できません。 |
解説
データ ソースから単一の値 (集計値など) を取得するには、 ExecuteScalar メソッドを使用します。 ExecuteReader メソッドを使用し、 OleDbDataReader によって返されたデータから単一値を生成するよりも、このメソッドを使用した方がコードが簡潔になります。
ExecuteScalar クエリは、通常、次の形式で指定します。この例は、C# のコード例です。
CommandText = "select count(*) from region";
Int32 count = (int32) ExecuteScalar();
使用例
[Visual Basic, C#, C++] OleDbCommand を作成し、 ExecuteScalar を使用してこのコマンドを実行する例を次に示します。この例では、集計結果を返す SQL ステートメントの文字列とデータ ソースへの接続に使用する文字列が渡されます。
Public Sub CreateMyOleDbCommand(myScalarQuery As String, myConnection As OleDbConnection)
Dim myCommand As New OleDbCommand(myScalarQuery, myConnection)
myCommand.Connection.Open()
myCommand.ExecuteScalar()
myConnection.Close()
End Sub 'CreateMyOleDbCommand
[C#]
public void CreateMyOleDbCommand(string myScalarQuery, OleDbConnection myConnection)
{
OleDbCommand myCommand = new OleDbCommand(myScalarQuery, myConnection);
myCommand.Connection.Open();
myCommand.ExecuteScalar();
myConnection.Close();
}
[C++]
public:
void CreateMyOleDbCommand(String* myScalarQuery, OleDbConnection* myConnection)
{
OleDbCommand* myCommand = new OleDbCommand(myScalarQuery, myConnection);
myCommand->Connection->Open();
myCommand->ExecuteScalar();
myConnection->Close();
};
[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
OleDbCommand クラス | OleDbCommand メンバ | System.Data.OleDb 名前空間