2

我认为这将是替换 null 的正确代码,但它给了我一个错误“当前上下文中不存在名称 'subt2'”

var SQLSELECT2 = "SELECT SUM(Price) FROM ProductEntered WHERE TransID=@0";
var sub2 = db.QueryValue(SQLSELECT2, transaction_id);

if(sub2 == null){
    var subt2 = 0.00;
    }
else{
    var subt2 = sub2;
    }

在我有@subt2 的页面中,我决定尝试解释我在做什么,希望能得到更好的回应。我有一个可以添加产品的页面。它使用 TransID 在表中创建一个条目作为对该页面的引用。此页面从行具有此 TransID 的价格中提取 SUM。当表格中没有输入具有此 TransID 的产品时,问题就出现了。当没有要显示的数据时,我需要它输出 0.00。

4

3 回答 3

1

带了我永远,但我找到了几篇文章并将它们放在一起。这是代码:

var SQLSELECT2 = "SELECT SUM(Price) FROM ProductEntered WHERE TransID=@0";
var sub2 = db.QueryValue(SQLSELECT2, transaction_id);

if(String.IsNullOrEmpty(Convert.ToString(sub2)))
{
    sub2 = 0.00;
}
于 2013-09-12T00:15:00.803 回答
0

I would try to replace it as follows:

var sub2 = db.QueryValue(SQLSELECT2, transaction_id);

var result = sub2 == null ? 0 : sub2;
return result;
于 2013-09-11T08:38:00.267 回答
0

当您使用 var(或 int、double、string 等)定义变量时,它仅存在于定义它的大括号 {} 中。因此,由于您是在大括号内定义它,因此页面稍后将不可用。更好的是:

var SQLSELECT2 = "SELECT SUM(Price) FROM ProductEntered WHERE TransID=@0";
var sub2 = db.QueryValue(SQLSELECT2, transaction_id);

var subt2 = 0;
if(sub2 == System.DBNull){
    subt2 = 0.00;
}
else
{
    subt2 = sub2;
}
于 2013-09-10T20:05:22.160 回答