OracleCommand.ExecuteScalar OracleCommand.ExecuteScalar OracleCommand.ExecuteScalar OracleCommand.ExecuteScalar Method


クエリを実行し、そのクエリが .NET Framework のデータ型で返す結果セットの最初の行の最初の列を返します。Executes the query, and returns the first column of the first row in the result set returned by the query as a .NET Framework data type. 追加の列または行は無視されます。Extra columns or rows are ignored.

 override System::Object ^ ExecuteScalar();
public override object ExecuteScalar ();
override this.ExecuteScalar : unit -> obj
Public Overrides Function ExecuteScalar () As Object


.NET Framework 固有のデータ型の結果セットの最初の行の最初の列。結果セットが空であるか、結果が REF CURSOR の場合、null 参照。The first column of the first row in the result set as a .NET Framework data type, or a null reference if the result set is empty or the result is a REF CURSOR.

次の例では、作成、OracleCommandしを使用して実行しますExecuteScalarします。The following example creates an OracleCommand and then executes it using ExecuteScalar. 例には、集計の結果を返さない SQL ステートメントである文字列と、データベースに接続するために使用する文字列が渡されます。The example is passed a string that is an SQL statement that returns an aggregate result, and a string to use to connect to the database.

public void CreateOracleCommand(string myScalarQuery, OracleConnection connection) 
    OracleCommand command = new OracleCommand(myScalarQuery, connection);
Public Sub CreateOracleCommand(myScalarQuery As String, connection As OracleConnection)
    Dim command As New OracleCommand(myScalarQuery, connection)
End Sub 'CreateOracleCommand


使用して、ExecuteScalarデータベースから 1 つの値 (たとえば、集計値) を取得します。Use the ExecuteScalar method to retrieve a single value (for example, an aggregate value) from a database. 使用してよりも少ないコードが必要です、ExecuteReaderメソッド、および操作によって返されるデータから 1 つの値を生成するために必要なOracleDataReaderします。This requires less code than using the ExecuteReader method, and then performing the operations necessary to generate the single value from the data returned by an OracleDataReader.

一般的なExecuteScalarクエリは、次の c# の例のように書式設定できます。A typical ExecuteScalar query can be formatted as in the following C# example:

CommandText = "SELECT COUNT(*) FROM Region";  
Int32 count = (int32) ExecuteScalar();