我想一個CommandArgument
爲int
傳遞給我的存儲過程,但我得到:傳遞INT到存儲過程失敗
未能參數值從字符串轉換成的Int32
即使之前我通過它,它被轉換......
C#代碼:
cmd.CommandText = "deleteProd";
int delprodID = Convert.ToInt32(e.CommandArgument.ToString());
Response.Write(delprodID);
cmd.Parameters.Add(new SqlParameter("@prodID", SqlDbType.Int)).Value = delprodID;
cmd.CommandType = CommandType.StoredProcedure;
sqlTools.cmdToNonQuery(cmd)
我的Response.Write
顯示我在delprodID
中有正確的ID。
存儲過程:
ALTER PROCEDURE dbo.deleteProd @prodID int
AS
IF @prodID > 0
BEGIN
DELETE FROM products WHERE prodID = @prodID
END
可能重複嗎? http://stackoverflow.com/questions/11099141/failed-to-convert-parameter-value-from-a-string-to-a-int32-while-executing-store – CodeLikeBeaker
「cmdToNonQuery」做什麼?它可能是消耗命令參數嗎? –
使用Sql Server Profiler並跟蹤DataBase的內容。 –