我认为这将是替换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的Price中提取SUM。问题在于,没有使用此TransID在表格中输入产品。当没有要显示的数据时,我需要输出0.00。
答案 0 :(得分: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;
}
答案 1 :(得分: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;
}
答案 2 :(得分:0)
我会尝试按如下方式替换它:
var sub2 = db.QueryValue(SQLSELECT2, transaction_id);
var result = sub2 == null ? 0 : sub2;
return result;