不知道如何判断读取出来的空值啊?if (sdr1.GetDateTime(6).Value==null && sdr1.GetDateTime(6).ToString()=="")这个句子改来改去老是错。
 编译错误 
说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0117: “System.DateTime”并不包含“Value”的定义源错误: 行 62:                 Label18.Text = sdr1.GetString(5);
行 63:                 Label20.Text = sdr1.GetString(7);
行 64:                 if (sdr1.GetDateTime(6).Value==null && sdr1.GetDateTime(6).ToString()=="")
行 65:                 { Label19.Text = " "; }
行 66:                 else
 string ID = Request.QueryString["ID"].ToString();
            SqlConnection con = db.CreatConnection();
            con.Open();
            string strSql2 = "select reason,bodynum,display,displaypro,projWBS,proname,enddate,re from choice where department='" + Label7.Text + "' and  ID='" + ID + "'";
            SqlCommand cmd1 = new SqlCommand(strSql2, con);
            SqlDataReader sdr1 = cmd1.ExecuteReader();
            while (sdr1.Read())
            {
                Label13.Text = sdr1.GetString(0);
                Label14.Text = sdr1.GetString(1);
                Label15.Text = sdr1.GetString(2);
                Label16.Text = sdr1.GetString(3);
                Label17.Text = sdr1.GetString(4);
                Label18.Text = sdr1.GetString(5);
                Label20.Text = sdr1.GetString(7);
                if (sdr1.GetDateTime(6).Value==null && sdr1.GetDateTime(6).ToString()=="")
                { Label19.Text = " "; }
                else
                { Label19.Text = sdr1.GetDateTime(6).ToShortDateString(); }
                
                        }
            sdr1.Close();
            con.Close();

解决方案 »

  1.   

    sdr1.GetDateTime(6)==dbnull.value试试
      

  2.   

    sdr1.GetDateTime(6).Value // 此处错误啊sdr1.GetDateTime() 返回对象是DateTime 没有Value属性
      

  3.   

    if (sdr1.GetDateTime(6)==null || sdr1.GetDateTime(6).ToString().Trim().Length==0)
      

  4.   

    修改成:
    if (sdr1.GetDateTime(6)==DBNull && sdr1.GetDateTime(6).ToString()=="")
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0118: “System.DBNull”是“类型”,但此处被当做“变量”来使用源错误: 行 62:                 Label18.Text = sdr1.GetString(5);
    行 63:                 Label20.Text = sdr1.GetString(7);
    行 64:                 if (sdr1.GetDateTime(6)==DBNull && sdr1.GetDateTime(6).ToString()=="")
    行 65:                 { Label19.Text = " "; }
    行 66:                 else
     
    改成sdr1.GetDateTime(6)==dbnull.value。提示也有错误啊!
    编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0117: “System.DBNull”并不包含“value”的定义源错误: 行 62:                 Label18.Text = sdr1.GetString(5);
    行 63:                 Label20.Text = sdr1.GetString(7);
    行 64:                 if (sdr1.GetDateTime(6)==DBNull.value && sdr1.GetDateTime(6).ToString()=="")
    行 65:                 { Label19.Text = " "; }
    行 66:                 else
     
      

  5.   

    修改成:
    if (sdr1.GetDateTime(6)==DBNull && sdr1.GetDateTime(6).ToString()=="")
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0118: “System.DBNull”是“类型”,但此处被当做“变量”来使用源错误: 行 62:                 Label18.Text = sdr1.GetString(5);
    行 63:                 Label20.Text = sdr1.GetString(7);
    行 64:                 if (sdr1.GetDateTime(6)==DBNull && sdr1.GetDateTime(6).ToString()=="")
    行 65:                 { Label19.Text = " "; }
    行 66:                 else
     
    改成sdr1.GetDateTime(6)==dbnull.value。提示也有错误啊!
    编译错误 
    说明: 在编译向该请求提供服务所需资源的过程中出现错误。请检查下列特定错误详细信息并适当地修改源代码。 编译器错误信息: CS0117: “System.DBNull”并不包含“value”的定义源错误: 行 62:                 Label18.Text = sdr1.GetString(5);
    行 63:                 Label20.Text = sdr1.GetString(7);
    行 64:                 if (sdr1.GetDateTime(6)==DBNull.value && sdr1.GetDateTime(6).ToString()=="")
    行 65:                 { Label19.Text = " "; }
    行 66:                 else
     
      

  6.   

    if (sdr1.GetDateTime(6)==null || sdr1.GetDateTime(6).ToString().Trim().Length==0)
      

  7.   

    按breead(面包)的说法:if (sdr1.GetDateTime(6) == null || sdr1.GetDateTime(6).ToString().Trim().Length == 0)
    还是错误啊,一开始我前半部分我也是这么弄的。
    数据为空。不能对空值调用此方法或属性。 
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.Data.SqlTypes.SqlNullValueException: 数据为空。不能对空值调用此方法或属性。