Я использую возвращенный параметр для отображения веса корзины.
Вот моя хранимая процедура SQL Server;
ALTER PROCEDURE [dbo].[SumScrapBinWeight]
@ScrapBinNumber INT,
@ScrapBinWeightSUM DECIMAL(8,2) OUTPUT
AS
BEGIN
SELECT @ScrapBinWeightSUM = SUM(CalculatedWeightLbs)
FROM ScrapData
WHERE ScrapBinNumber = @ScrapBinNumber
END
Это работает в SSMS и возвращает ожидаемое значение,когда я вызываю это в своем приложении C #, я получаю сообщение об ошибке
Cast not Valid
в последней строке.Это поставило меня в тупик, если я изменил Decimal
на Int
, он не выдает ошибку, но не отображает десятичные дроби, которые я хочу показать.
using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["MfgDataCollector"].ToString()))
{
DynamicParameters param = new DynamicParameters();
param.Add("@ScrapBinNumber", lbl_TicketNumber.Text);
param.Add("@ScrapBinWeightSUM", dbType: DbType.Int32, direction: ParameterDirection.Output);
conn.Execute("SumScrapBinWeight", param, commandType: CommandType.StoredProcedure);
lbl_BinWeight.Text = param.Get<decimal>("@ScrapBinWeightSUM").ToString();
}
Где я здесь ошибаюсь?