BeginTime = dataSet1.Tables[0].Rows[0][0]==System.DBNull.Value?DateTime.MinValue:
Convert.ToDateTime(dataSet1.Tables[0].Rows[0][0]);
这里就看如何处理如果是DBNull的情况,建议自己定义一个DateTime的DBNull值,系统来判断.

解决方案 »

  1.   

    谢谢Richardhu,同时向你请教一下,直接从表中读出来的数据,系统是不是都作为string来处理,为什么要这样,数据库中本来就是DateTime型的,既然提供了toString(),为什么不提供像toInt(),toDatetime()之类的,是不是除了String类型之外,所有的都要用Convert去转换?
      

  2.   

    BeginTime=Convert.ToDateTime(DataSet.tables[0].row[0][0])
      

  3.   

    DateTime BeginTime;
    BeginTime=(DateTime)DataSet.tables[0].row[0][0].ToString();
      

  4.   

    DateTime BeginTime;
    if(DataSet.tables[0].row[0][0].ToString()!="")
        BeginTime=(DateTime)DataSet.tables[0].row[0][0].ToString();
      

  5.   

    从数据库中读取的数据是以类似System.Data.SqlTypes.SqlDateTime的结构方式来存取,他有一个装换表:ms-help://MS.VSCC.2003/MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfSystemDataSqlTypes.htm,当你这样来处理数据的时候dataSet1.Tables[0].Rows[0][0],你是知道类型的,你可以根据转换表使用Convert类的方法来转换.