数据库为 NULL 时取消处理
本文关键字:取消 处理 NULL 数据库 | 更新日期: 2023-09-27 18:35:22
DatabaseDataContext db = new DatabaseDataContext();
var TMACost = (from emp in db.Incomes where emp.Time > DateTime.Today.AddMonths(-1) select emp.Cost).Sum();
Label15.Text = TMACost.ToString();
我想对数据库中的值求和,但在数据库为空时无法运行,有什么想法吗?
使用可空数字的强制转换。当表为空时,这将返回 null。然后,您可以使用合并运算符:
var TMACost = (
from emp in db.Incomes
where emp.Time > DateTime.Today.AddMonths(-1)
select (decimal?) emp.Cost
).Sum() ?? 0m;
您正在尝试对可能返回 null 的值求和,因此只需在求和之前检查其是否为 null
DatabaseDataContext db = new DatabaseDataContext();
var TMACost = (from emp in db.Incomes where emp.Time > DateTime.Today.AddMonths(-1) select emp.Cost);
Label15.Text = (TMACost.length!=DBNull.Value)?TMACost.Sum().ToString():"0";