クエリは常に-1を返します。理由はわかりません。誰かが説明してくれますか?カウント値は常に-1のままです。Count常に-1 SQL Serverを返します。 ASP.NET C#
string query = "SELECT COUNT(*) AS Emails FROM users";
using (SqlConnection connection = new SqlConnection(connectionString))
{
SqlCommand command = new SqlCommand(query, connection);
command.Parameters.AddWithValue("@email", email);
try
{
connection.Open();
count = command.ExecuteNonQuery();
if (count > 0)
return "Something Wrong1";
}
catch
{
return "Something Wrong2";
}
return count + "Every thing ok";
}
[MSDN](http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executenonquery.aspx)から:UPDATE、INSERT、およびDELETEステートメントの場合、戻り値は次のとおりです。コマンドの影響を受ける行の数挿入または更新される表にトリガーが存在する場合、戻り値には、挿入操作または更新操作の両方によって影響を受ける行数と、トリガーの影響を受ける行数が含まれます。他のすべてのタイプのステートメントの場合、戻り値は-1です。 – SWeko
あなたが戻ってきた 'count'の値ではありません。' .ExecuteNonQuery'は、SQL文によって**影響を受ける**行の数を返します。 - 行に影響を与えるものはないので、-1を返します。 。代わりに '.ExecuteScalar()'を使用して、クエリが返す1つの列値を返します。 –