gpt4 book ai didi

c# - 如何转换十进制?将 LINQ 与存储过程结合使用时转换为十进制

转载 作者:行者123 更新时间:2023-12-02 18:24:17 24 4
gpt4 key购买 nike

public static decimal getall(ref decimal? number)
{
var sigma = from p in db.getDPMO1(ref number)
select p.Sigma;
return sigma; // I am getting Cannot Convert decimal? to decimal
}

这是我的存储过程,它采用十进制参数

ALTER PROCEDURE getDPMO1
(@number Decimal OUTPUT)
AS
SELECT
MIN(Sigma_Value) AS Sigma
FROM
Sigma_Table
WHERE
Defect_Rate < @number

RETURN

最佳答案

可能没有满足您的条件的行Defect_Rate < @number因此结果将是 null ,不是0

您可以将sql更改为COALESCE(MIN(Sigma_Value), 0)ISNULL(MIN(Sigma_Value), 0)如果你需要一个可靠的数字。另请注意,存储过程的返回类型应定义为 NOT NULL .

或者,您可以更改代码以期望出现空值。也就是说,将返回类型更改为 decimal?而不是decimal .

关于c# - 如何转换十进制?将 LINQ 与存储过程结合使用时转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42855139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com