我想从数据库中取出第一行第一个单元格的值,它与下面的代码工作得很好.但是当没有找到结果时,它会抛出异常.

如何处理DBNull

System.NullReferenceException: Object reference not set to an instance of an object.

Code:

    public string absentDayNo(DateTime sdate, DateTime edate, string idemp)
    { 
       string result="0";
       string myQuery="select COUNT(idemp_atd) absentDayNo from td_atd where ";
       myQuery +=" absentdate_atd between '"+sdate+"' and '"+edate+" ";
       myQuery +=" and idemp_atd='"+idemp+"' group by idemp_atd ";

       SqlCommand cmd = new SqlCommand(myQuery, conn);
       conn.Open();
//System.NullReferenceException occurs when their is no data/result
       string getValue = cmd.ExecuteScalar().ToString();
         if (getValue != null)
         {
            result = getValue.ToString();
         }
         conn.Close();
        return result;
    }

推荐答案

没有必要一直拨打.ToString(),因为getValue已经是一个字符串.

除此之外,这句话可能是你的问题:

 string getValue = cmd.ExecuteScalar().ToString();  

如果没有行,.ExecuteScalar将返回null,因此需要进行一些判断.

例如:

var firstColumn = cmd.ExecuteScalar();

if (firstColumn != null) {
    result = firstColumn.ToString();
}

Asp.net相关问答推荐

.Net Framework:w3wp.exe 中的异常

Web API 自托管 - 在所有网络接口上绑定

log4net 记录所有未处理的应用程序错误

cookie 存储在系统的什么位置?

没有身份的 ASP.NET Core 2.0 承载身份验证

'Microsoft.ACE.OLEDB.12.0' 提供程序未在本地计算机上注册.

什么时候不应该使用 Web 服务?

页面在谷歌浏览器中加载两次

在 ApiController 中添加自定义响应头

您使用哪个 .NET Memcached 客户端,EnyimMemcached 与 BeITMemcached?

如何在 ASP.net 中使用 wkhtmltopdf.exe

如何从 ASP.NET 中的数据表/数据视图中 Select 前 n 行

如何将数据集转换为数据表

服务器标签格式不正确错误

字体真棒里面asp按钮

如何从 ASP.NET Identity 获取用户列表?

如何解决我的 ASP.Net MVC 应用程序中的 iisreset 后发生的 AntiForgeryToken 异常?

从服务器下载 ASP.NET 文件

System.Drawing.Image.FromFile() 上的内存不足异常

在 ASP.NET 中使用 SecureString 有什么好处吗?