如果C#为null,我希望您能帮助您了解如何在ExecuteScalar中处理和异常。正在尝试,但得到一个空引用例外。这是我的密码
public async Task<int> SumItemAsync()
{
Object data = await db.ExecuteScalarAsync<int>("SELECT
SUM(Amount) FROM Spent");
if (data != null)
{
return Convert.ToInt32(data);
}
else
{
return 0;
}
}发布于 2019-08-25 23:00:17
实际上,我并没有使用您的代码来解决这个问题,但是您提到了我的查询返回null,但是我告诉ExecuteScalarAsync它应该是一个int。所以从你的陈述中我就这样做了,而且起了作用。不管怎样,谢谢
公共异步任务SumItemAsync() { var data =等待db.ExecuteScalarAsync(“从已使用的数据中选择SUM(TotalAmount)”);if (data != null) {返回数据;}{返回"0.00";}
发布于 2019-08-21 07:05:55
我认为问题在于您的查询返回null,但是您告诉ExecuteScalarAsync应该是int。将其更改为可空的int。
var data = db.ExecuteScalarAsync<int?>("SELECT SUM(Amount) FROM Spent")
return data ?? 0;然后,可以将返回表达式简化一点。
https://stackoverflow.com/questions/57585822
复制相似问题