如何处理 Null 值的 ExcuteScalar 异常?

我有一个问题,如果返回的值不为空,这会起作用,但是System.NullreferenceException当返回为空时我得到一个。我尝试了很多东西,但似乎无法破解它。这里的任何帮助将不胜感激。


string HwPlts = "select top 1 plts from (select sum(ISNULL(Heywood_Plts, 0)) as plts, date_Uploaded, time_Uploaded, Upload_ID from InboundRawData Group by date_Uploaded, time_Uploaded, dispatch_Date, Upload_ID having dispatch_Date = @prod_Date) as p order by Upload_ID desc";

SqlCommand cmd1001 = new SqlCommand(HwPlts, connection);

cmd1001.Parameters.AddWithValue("@prod_Date", dateTimePicker1.Text);

HWplt.Text = cmd1001.ExecuteScalar().ToString();


人到中年有点甜
浏览 89回答 1
1回答

慕标琳琳

问题出在这一行:HWplt.Text = cmd1001.ExecuteScalar().ToString();相反,使用HWplt.Text = Convert.ToString(cmd1001.ExecuteScalar());这避免了空引用异常,因为Convert.ToString()它是一个静态方法。ToString()相比之下,是一个实例方法,它取决于要转换为字符串的特定对象的实现。编辑:我应该补充一点,在大多数用例中使用Convert.ToString()而不是Object.ToString().
打开App,查看更多内容
随时随地看视频慕课网APP