表适配器填充中未处理的System.NullReferenceException

时间:2017-03-03 02:45:28

标签: c# tableadapter

当数据表中不存在变量sDate时,我一直得到空值表达式。只要表中有相应的日期,它就可以正常工作。 dvtta是表适配器。以下是我到目前为止的情况:

            object StartingBal = 0;
            StartingBal = (decimal)dvtta.Balance(acctno, sDate);
            if (StartingBal.GetType() != typeof(DBNull))
            {
                StartingBal = (decimal?)StartingBal;
                StartingBalance = Convert.ToDecimal(StartingBal);
            }
            else
            {
                StartingBalance = 0;
            }

我一直在拔头发。任何帮助将不胜感激。

以下是Balance的代码:

 SELECT SUM(AMOUNT) AS Expr1
 FROM     Trans
 WHERE  (ACCT = @account) AND (Date <= @baldate)

1 个答案:

答案 0 :(得分:1)

您尝试过

if (StartingBal != null) { /* etc. */ }

如果它不返回任何东西,那么您不是将对象设置成StartingBal = null。在VB.NET中,这是“ StartingBal Nothing”,它在非常相似的情况下对我有用。