转换日期/时间时C#转换失败

时间:2013-03-26 16:30:11

标签: c# asp.net

运行ASP Web App时出现此异常

从字符串转换日期和/或时间时转换失败。  当我调试我在下面的代码中得到错误 与日期有关的所有变量均为DATETIME格式。

for (int j = 0; j < mapdate.Count; j++)
{
    string mapstartend = "Select Id,CDateTime from MAP1 where Product='" + pro[allpromap] + "' and ProgDate= '" + mapdate[j]+ "' and Channel='" + mapChannel[allmap] + "'";
    SqlCommand mapdat = new SqlCommand(mapstartend, conn);
    SqlDataReader mapdatrdr = mapdat.ExecuteReader();
    while (mapdatrdr.Read())
    {

        mapiddate.Add(mapdatrdr["Id"].ToString(), mapdatrdr.GetDateTime(1));
    }
    mapdatrdr.Close();
}

3 个答案:

答案 0 :(得分:2)

如果这是问题,那么它应该与

一起使用
  

DateTime.Parse()

但如果你使用TryParse()来检查字符串是否有效,那会更好。

请参阅here了解有关如何使用它的更多信息

答案 1 :(得分:0)

您的日期字段是什么格式?

尝试使用:

Convert.ToDateTime(mapdatrdr["CDateTime"].ToString());

答案 2 :(得分:0)

试试这个

mapdatrdr.GetDateTime(columnIndex).ToString("dd MMM yyyy");

应该有效