我有一个方法,使用以下代码从DB获取DateTime:
NpgsqlCommand cmd = ActiveConnection.CreateCommand(); cmd.CommandText =“SELECT NOW()”;
object obj = cmd.ExecuteScalar(); return(DateTime)obj;
将结果转换为DateTime时,有时会抛出InvalidCastException。有时结果(obj)为null。 知道为什么会这样吗?你对从哪里开始刮擦有什么想法吗?
TIA JoséTavares
答案 0 :(得分:1)
那是因为postgresql中没有NOW()函数。请改用:
//create NpgsqlCommand instance, cmd
cmd.CommandText = "select current_timestamp";
DateTime dt;
DateTime.TryParse(cmd.ExecuteScalar().ToString(), out dt);
return dt;