我正在研究一個允許列出電影的應用程序,以及編輯,插入和刪除它們。在分貝我有三個表(電影,流派和MovieGenre),這個問題是關係到添加一個流派到電影(通過添加到表MovieGenre,它保持電影流派的軌道)。指定的參數太多
下面是相關的代碼以及拋出的異常。我只是無法弄清楚爲什麼我會得到這個錯誤消息,因爲我使用了正確數量的參數,因爲我可以在調用sproc時在c#代碼中看到它。
有人可以看到這裏有什麼問題嗎?
例外: 過程或函數usp_InsertMovieGenre指定的參數太多。
異常詳細信息: System.Data.SqlClient.SqlException:過程或函數usp_InsertMovieGenre指定的參數太多。
C#代碼:
public void InsertMovieGenre(MovieGenre movieGenre) {
using (SqlConnection conn = CreateConnection()) {
try {
SqlCommand cmd = new SqlCommand("dbo.usp_InsertMovieGenre", conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@MovieID", SqlDbType.Int, 4).Value = movieGenre.MovieID;
cmd.Parameters.Add("@GenreID", SqlDbType.Int, 4).Value = movieGenre.MovieGenreID;
cmd.Parameters.Add("@MovieGenreID", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
conn.Open();
cmd.ExecuteNonQuery();
movieGenre.MovieID = (int)cmd.Parameters["@MovieGenreID"].Value;
}
catch {
}
}
}
SPROC:
ALTER PROCEDURE usp_InsertMovieGenre
@GenreID varchar(500),
@MovieID int
AS
BEGIN
INSERT INTO MovieGenre (GenreID, MovieID)
VALUES (@GenreID, @MovieID);
END
GO
'@ MovieGenreID'不是一個參數。 – 2012-03-14 10:13:08
商店程序中@MovieGenreID的定義在哪裏? – 2012-03-14 10:13:46