DateTime da=Convert.ToDateTime(dr["LongTime"].ToString()+dr["InfoTime"].ToString());没有被识别在有效的时间类型
怎么修改呢?

解决方案 »

  1.   

    dr["LongTime"].ToString()+dr["InfoTime"].ToString() 这里面是什么类型?如果都是DateTime类型.相加再转换肯定是不行地.
      

  2.   

    LongTime 为数据类型 InfoTime为时间类型
      

  3.   

    dr["LongTime"].ToString()+dr["InfoTime"].ToString()值是什么?
      

  4.   

    LongTime为数字类型,值为:7;InfoTime为时间类型,值为:2009-01-22 12:36:41
    我要是知道dr["LongTime"].ToString()+dr["InfoTime"].ToString()的值是什么就不会问别人了
      

  5.   

    必须要保证convert里面的字符串是符合时间格式的字符串,你可以设下断点调试一下,看看dr["LongTime"].ToString()和dr["InfoTime"].ToString()各是什么值。
      

  6.   

    这样就明显错了,因为得到“72009-01-22 12:36:41”超出了日期的范围。
    你是要在infoTime的基础上加上7天还是7年?
      

  7.   

    如果是加上7天,那么
    DateTime da=Convert.ToDateTime(dr["InfoTime"]).AddDays((double)dr["LongTime"]);
    如果是加上7小时,那么
    DateTime da=Convert.ToDateTime(dr["InfoTime"]).AddHours((double)dr["LongTime"]);
      

  8.   

    Convert.ToDateTime("2009-01-22 12:36:41")是没问题
      

  9.   

    这样不行
    报错:DateTime da=Convert.ToDateTime(dr["InfoTime"]).AddDays((double)dr["LongTime"]);
    “object”并不包含“AddDays”的定义
      

  10.   

    vs2005调试asp.net时,报错:DateTime da = Convert.ToDateTime(dr["InfoTime"].ToString()).AddDays((double)dr["LongTime"]);System.InvalidCastException: 指定的转换无效。
    这种怎么改
      

  11.   

    把这个DateTime da=Convert.ToDateTime(dr["InfoTime"]).AddDays((double)dr["LongTime"]);改成DateTime da = Convert.ToDateTime(dr["InfoTime"]).AddDays((double)Convert.ToInt32(dr["LongTime"]));就可以