0

ストアドプロシージャを介してDBの行を更新しようとすると、このエラーが発生します

プロシージャまたは関数'sp_A_Update'には、指定されていないパラメータ'@Misc'が必要です。

しかし、私はこれを提供しました:

command.Parameters.AddWithValue("@Misc", inspection.Misc);

これが私のコード全体で、短縮するために他のパラメータが削除されています

using (SqlCommand command = new SqlCommand("sp_Agent_Inspection_Update", new SqlConnection (Configuration.ConnectionString)))
{
    command.CommandType = CommandType.StoredProcedure;

    PropertyInfo[] propertyInfo = inspection.GetType().GetProperties();

    command.Parameters.AddWithValue("@Misc", inspection.Misc);
    (lots of other params here...)
    command.Parameters.AddWithValue("@RepairNotes", inspection.RepairNotes);

    // OPEN CONNECTION
    command.Connection.Open();

    // EXECUTE QUERY
    int rowsAffected =  command.ExecuteNonQuery();

    command.Connection.Close();
    return Boolean.Parse(rowsAffected.ToString());
}

誰かアイデアはありますか?

4

1 に答える 1

0

呼び出しているストアドプロシージャの名前に関する明らかな間違いは別として。

この問題を特定して解決する最も簡単な方法は、SQLプロファイラーを実行することです。コードの実行中にトレースを取り、SQLに何が渡されるかを確認すると、SQLが何を期待しているかがわかります。

于 2012-05-10T01:20:36.280 に答える