英語で読む

次の方法で共有


SqlCommand.ExecuteNonQuery メソッド

定義

接続に対して Transact-SQL ステートメントを実行し、影響を受けた行数を返します。

public override int ExecuteNonQuery();
public int ExecuteNonQuery();

戻り値

影響を受けた行の数。

実装

例外

ValueStream に設定されたときに、Binary でも VarBinary でもない SqlDbType が使用されました。 ストリーミングの詳細については、「SqlClient ストリーミング サポート」を参照してください。

- または -

SqlDbTypeが にTextReader設定されている場合ValueCharNCharNVarCharVarCharまたは Xml 以外の が使用されました。

- または -

ValueXmlReader に設定されたときに、Xml 以外の SqlDbType が使用されました。

ロックされた行に対するコマンドの実行中に、例外が発生しました。 Microsoft .NET Framework バージョン 1.0 を使用している場合は、この例外は生成されません。

- または -

ストリーミング操作中にタイムアウトが発生しました。 ストリーミングの詳細については、「SqlClient ストリーミング サポート」を参照してください。

ストリーミング操作中に、StreamXmlReader、または TextReader オブジェクトでエラーが発生しました。 ストリーミングの詳細については、「SqlClient ストリーミング サポート」を参照してください。

ストリーミング操作中に、SqlConnection が閉じられたか切断されました。 ストリーミングの詳細については、「SqlClient ストリーミング サポート」を参照してください。

ストリーミング操作中に、StreamXmlReader、または TextReader オブジェクトが閉じられました。 ストリーミングの詳細については、「SqlClient ストリーミング サポート」を参照してください。

次の例では、 を SqlCommand 作成し、 を使用して ExecuteNonQuery実行します。 この例では、Transact-SQL ステートメント (UPDATE、INSERT、DELETE など) である文字列と、データ ソースへの接続に使用する文字列が渡されます。

private static void CreateCommand(string queryString,
    string connectionString)
{
    using (SqlConnection connection = new SqlConnection(
               connectionString))
    {
        SqlCommand command = new SqlCommand(queryString, connection);
        command.Connection.Open();
        command.ExecuteNonQuery();
    }
}

注釈

ExecuteNonQuery 使用すると、カタログ操作 (データベースの構造の照会やテーブルなどのデータベース オブジェクトの作成など) を実行したり、UPDATE、INSERT、DELETE ステートメントを実行して を使用 DataSet せずにデータベース内のデータを変更したりできます。

は行を ExecuteNonQuery 返しませんが、パラメーターにマップされた出力パラメーターまたは戻り値にはデータが設定されます。

UPDATE、INSERT、DELETE の各ステートメントで、戻り値はそのコマンドの影響を受ける行の数です。 その他のすべての種類のステートメントでは、戻り値は -1 です。

挿入または更新されるテーブルにトリガーが存在する場合、戻り値には、挿入操作または更新操作の影響を受ける行の数と、トリガーまたはトリガーの影響を受ける行の数が含まれます。

接続で SET NOCOUNT ON が設定されている場合 (コマンドの実行の前または一部として、またはコマンドの実行によって開始されたトリガーの一部として)、個々のステートメントの影響を受ける行は、このメソッドによって返される行の数に影響を与えなくなります。

カウントに影響するステートメントが検出されない場合、戻り値は -1 になります。 ロールバックが発生した場合、戻り値も -1 になります。

適用対象

製品 バージョン
.NET Core 1.0, Core 1.1, 6 (package-provided), 7 (package-provided), 8 (package-provided), 9 (package-provided), 10 (package-provided)
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0 (package-provided)

こちらもご覧ください