日期:2014-05-17  浏览次数:20660 次

将一个字符串转换为 DateTime 时,应先分析该字符串以获取日期,然后再将每个变量放置到 DateTime 对象中
/// <summary>
  /// 获取所有的留言信息
  /// </summary>
  /// <returns></returns>
  public List<Message> GetMessages()
  {
  try
  {
  string sqlStr = "select * from Message ";
  OleDbCommand cmd = new OleDbCommand(sqlStr, con);
  List<Message> list = new List<Message>();
  con.Open();
  OleDbDataReader reader = cmd.ExecuteReader();
  while (reader.Read())
  {
  Message msg = new Message();
  msg.InfoID = Convert.ToInt32(reader["InfoID"]);
  msg.InfoName = reader["InfoName"].ToString();
  msg.UserName = reader["UserName"].ToString();
  msg.Address = reader["Address"].ToString();
  msg.UserTel = reader["UserTel"].ToString();
  msg.UserIP = reader["UserIP"].ToString();
  msg.UserEmail = reader["UserEmail"].ToString();
  msg.InfoNote = reader["InfoNote"].ToString();
  msg.InfoDate =Convert.ToDateTime(reader["InfoDate"]);//
  msg.ispass = Convert.ToInt32(reader["ispass"]);
  msg.IsDel = Convert.ToInt32("IsDel");
  list.Add(msg);
  }
  return list;
  }
  catch (Exception ex)
  {

  throw ex;
  }
  finally
  {
  con.Close();
  }

  }


从ACCESS数据库查询得到数据 数据调试时都得到了 但是跑出异常:将一个字符串转换为 DateTime 时,应先分析该字符串以获取日期,然后再将每个变量放置到 DateTime 对象中,在数据库中InfoDate 的值为2010/8/7 18:13:30,是日期型 怎么会有错 谁帮忙看看啊 等~~

------解决方案--------------------
msg.InfoDate =Convert.ToDateTime(reader["InfoDate"].toString()); 试试看

------解决方案--------------------
你断点一下,确定取到了“Convert.ToDateTime(reader["InfoDate"]);”?
------解决方案--------------------
msg.IsDel = Convert.ToInt32("IsDel");你这句什么意思
msg.IsDel = Convert.ToInt32(reader["IsDel"]);
------解决方案--------------------
msg.IsDel = Convert.ToInt32("IsDel");

这个能运行到list.Add(msg); 本身就是一个奇迹.