SQL Serverストアドプロシージャに問題があります。私は、パラメータを指定すると、パラメータがnullではないが、私はエラーストアドプロシージャパラメータが提供されていませんでした。エラー
私のC#のコードはここにある 'パラメータが供給されていない' しまったものの:
staffInfo.DeleteCommand = "deleteStaff";
staffInfo.DeleteCommandType = SqlDataSourceCommandType.StoredProcedure;
staffInfo.DeleteParameters.Add("tcId", stafftc);
staffInfo.Delete();
ストアドプロシージャ:
ALTER PROCEDURE dbo.deleteStaff
(
@tcId varchar(11)
)
AS
BEGIN
DECLARE @memId int;
SELECT @memId = staffId FROM staff WHERE TCid = @tcId;
DELETE FROM member WHERE memId = @memId;
END
削除操作は完全に行われます。しかし、私はこのエラーをとにかく持っています。あなたの提案は何ですか?
MSDNには、「パラメータが指定されていません」というエラーに関する注意事項があります。「SqlDataSourceコントロールにバインドするデータバインドコントロールのBoundFieldコントロールにDeleteParametersコレクションのパラメータ名と一致する名前がないことを確認してください。バインドされたフィールドと同じ名前のパラメータはSQLコマンドから除外され、「パラメータが指定されていません」というエラーが発生する可能性があります。 – Steve
いいえ、うまくいきませんでした。その結果、プロシージャーが削除されました。この処理を問合せで処理しようとしました。それは動作し、私は自分の道を続けます。 – Shnkc
なぜSQL Serverプロファイラを使用せず、実行のために送信されたクエリをチェックするのですか?いくつかの情報を得るかもしれません –