using (MySqlCommand objSqlCmd = m_DBMonConn.CreateCommand())
{
objSqlCmd.CommandText = sQueryCmd;
MySqlDataReader dr = null;//防止后面未赋值错误
try
{
dr = objSqlCmd.ExecuteReader();
if (dr.Read())
{
str += dr.GetDateTime(dr.GetOrdinal("DATE")).ToShortDateString();
str += " ";
//str += dr.GetDateTime(dr.GetOrdinal("TIME")).ToShortTimeString();
str += dr.GetString(dr.GetOrdinal("TIME"));
}
Console.WriteLine(str);
}
catch (MySqlException ex) {
MessageBox.Show(ex.Message, "acqDBLastDateTime");
}
finally {
dr.Close();
}
//dr.Close();
}上述代码
str += dr.GetDateTime(dr.GetOrdinal("TIME")).ToShortTimeString();会报System.ArgumentOutOfRangeException
改成dr.GetString反而OK,TIME字段数据类型也是TIME
何解?
2、如果非要取datetime的值,建议使用convert.todatetime,如果出错,在可用string进行处理