C# プロジェクトの 1 つで、次の 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が得られます。@OMarks
しかし、C# プロジェクトで同じ手順を使用し、次のように呼び出すと、
cmd.Parameters.Add("@OMarks", SqlDbType.Decimal).Direction = ParameterDirection.Output;
tbomarks.Text = cmd.Parameters["@OMarks"].Value.ToString();
切り上げられたデータである 24.9 ではなく 25 を取得しています。
私の問題は、25 を取得したくないことです。tbomarks で 24.9 を取得したいです。