C# の ExecuteNonQuery() メソッドの戻り値の問題を解決する方法

C#では、ExecuteNonQuery()メソッドは影響を受けた行数を返し、クエリ結果を返しません。クエリ結果を取得したい場合は、他のメソッド(ExecuteReader()など)を使ってクエリを実行し、DataReaderを使って結果セットを読み取ります。

Insert、Update、Deleteステートメントの実行後に影響を受けた行数を取得したい場合は、リターン値を変数に格納して処理することができます。例えば:

string query = "INSERT INTO myTable (column1, column2) VALUES (@value1, @value2)";
SqlCommand cmd = new SqlCommand(query, connection);
cmd.Parameters.AddWithValue("@value1", "test");
cmd.Parameters.AddWithValue("@value2", "test");

int rowsAffected = cmd.ExecuteNonQuery();

if (rowsAffected > 0)
{
    Console.WriteLine("行数:" + rowsAffected);
    // 执行成功
}
else
{
    Console.WriteLine("执行失败");
}

具体的な問題や状況によっては、適宜なエラーハンドリング、異常処理、ログの出力等が必要となる点にご注意ください。

コメントを残す 0

Your email address will not be published. Required fields are marked *