0

コード内の問題を見つけることができない単純なストアド プロシージャを作成しました。

ストアド プロシージャ:

ALTER PROCEDURE dbo.BestellDetail_Delete
        -- Add the parameters for the stored procedure here
    @RefId  AS int

AS

    -- Insert statements for procedure here
    DELETE FROM BestellDetails 
    WHERE       RefBestellId = @RefId

    RETURN

C# コード

SqlCommand cmdBestellDetailsDELETE = new SqlCommand("BestellDetail_Delete", conn);
cmdBestellDetailsDELETE.Parameters.AddWithValue("@RefId", 35);

cmdBestellDetailsDELETE.ExecuteNonQuery();

エラー:

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

ここで私が間違っていることを誰かに教えてもらえますか?

4

1 に答える 1

4

ない

  cmdBestellDetailsDELETE.CommandType = CommandType.StoredProcedure;

そのフラグがない場合、コマンド タイプは CommandType.Text にデフォルト設定されるため、「SELECT....」、「DELETE....」のようなものになると予想されます。

于 2013-08-28T07:55:42.987 に答える