You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Datatable.Compute返回值异常:空购物车DataTable判断失效问题

解决购物车DataTable空判断失效的问题

问题根源

你遇到的判断不生效,是因为当DataTable没有数据行时,Compute("SUM(Amount)", "")返回的是DBNull.Value,而非C#里的null,所以直接用== null肯定匹配不上。

几种可行的解决方案

方案1:直接判断行数(最简洁靠谱)

购物车空本质就是没有数据行,直接判断行数比计算求和更直接:

if (dtCart.Rows.Count == 0)
{
    MessageBox.Show("No item in the cart!");
    return;
}

方案2:正确判断Compute的返回值

如果一定要通过求和结果判断,得先检查是否为DBNull.Value,再转换判断:

var sumResult = dtCart.Compute("SUM(Amount)", "");
if (sumResult == DBNull.Value || Convert.ToInt32(sumResult) == 0)
{
    MessageBox.Show("No item in the cart!");
    return;
}

额外提醒

你代码里一开始定义的是static DataTable dtItem = new DataTable();,但后续操作的是dtCart,这大概率是笔误,记得修正变量名,避免不必要的错误。

内容的提问来源于stack exchange,提问作者Ryan OEI

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 02:45:15