发生异常: - “字符串未被识别为有效的DateTime。从索引0开始有一个未知单词。”

时间:2013-12-03 05:19:57

标签: c# asp.net database

我想将DateTime数据存储到List中。我尝试了下面的代码,但是抛出了上面的异常。      请提出一些解决方案。

 SqlDataReader dr;
 con.Open();
 dr = cmd.ExecuteReader();
 List<DateTime> fdate = new List<DateTime>();

 try
    {
        if (dr.HasRows)
        {
            while (dr.Read())
            {
                fdate.Add(Convert.ToDateTime(dr.ToString()));
            }
        }
    }
    catch (Exception)
    {

        throw;
    }

1 个答案:

答案 0 :(得分:1)

自从我使用DataReaders以来已经有一段时间了,但是你不必指定列名或索引吗?在您的代码中,您正在尝试将DataReader转换为DateTime对象。

fdate.Add(Convert.ToDateTime(dr.ToString()));

您需要在DataReader中指定要转换的列:

fdate.Add(Convert.ToDateTime(dr["column name"].ToString()));

即便如此,在转换之前你还需要检查空值。