我在我的一个 C# 项目中使用以下 SQL Server 存储过程。
create procedure [dbo].[TestRecordSelect]
@OMarks numeric(3,1) output
as
begin
select @OMarks = isnull(sum(cast(OMarks as numeric(3,1))),0) from Marks
end
在 SQL Server 中执行该过程时,我得到了预期的结果,即 24.9。但是当我在我的 C# 项目中使用相同的过程并调用@OMarks
如下
cmd.Parameters.Add("@OMarks", SqlDbType.Decimal).Direction = ParameterDirection.Output;
tbomarks.Text = cmd.Parameters["@OMarks"].Value.ToString();
我得到的是 25 而不是 24.9,这是四舍五入的数据。
我的问题是我不想得到 25。我想在 tbomarks 中得到 24.9