1
我在表DECIMAL(10,2)
中有一個如下所示的列,並在表中插入行。該列的參數如下所示@FuelLiters AS DECIMAL(10, 2),
我使用ado.net調用此存儲過程。該列的SQL參數看起來像這樣Sql Server 2008中的十進制(10,2)將插入的值除以100
cmd.Parameters.Add(@FuelLiters, SqlDbType.Decimal).Value = fuelLiters;
(it's decimal value)
不管我做的是sql修改我的值,所以它有2個小數。如果fuelLiters = 56,它將保存在數據庫中0.56。如果fuelLiters = 75.4,它將保存在數據庫7.54中。
我在做什麼錯了?
我的sql參數現在看起來像這樣,但仍然是同樣的問題。 LE:我修改了sql參數,以便在設置精度和小數位數後設置該值,並添加存儲過程。
CREATE PROCEDURE [dbo].[SaveFuel]
@Id AS INT,
@RegNumber AS NVARCHAR(50),
@FuelLiters AS DECIMAL(10, 2)
AS
BEGIN
INSERT INTO [dbo].[Fuel]
(
[Id],
[RegNumber],
[Fuel_litres]
)
VALUES
(
@Id,
@RegNumber,
@FuelLiters
)
END
好吧,我笨,有一個觸發我沒有注意到這是在該領域
「我在做什麼錯了?」 - 在某些代碼中,你沒有向我們展示過。 –
代碼apperar正確乍一看,商店的程序是否做了一些額外的工作? –
在設置數值之前,您不應該設置精度和比例嗎? – IvoTops