如果声明 - 将datareader值与datetime进行比较

Pip*_*Boy 2 c# if-statement sqldatareader

我希望你们能解决我遇到的一个小问题.在尝试检查datareader值是否小于指定的dateTime值并需要一些帮助时,我遇到了一些错误.

DateTime feedate = new DateTime(2013,09,01);
if (rsData["M_Start"] != DBNull.Value) & (Convert.ToDateTime(rsData["M_Start"]).ToString("yyyy/mm/dd") < feedate)
Run Code Online (Sandbox Code Playgroud)

所以上面是我所拥有的,我得到的错误是'唯一的赋值调用增量递减和新的对象表达式可以用作语句'消息.

我有点难过,因为C#对我来说还是新手,所以任何帮助都表示赞赏!

谢谢.

Tim*_*ter 6

  1. 您应该使用逻辑而&&不是
  2. 您应该使用DataReader.IsDBNull,而不是
  3. 你不应该将a DateTime与a 进行比较String,为什么要将它转换为字符串呢?

DateTime feedate = new DateTime(2013, 09, 01);
if (!rsData.IsDBNull(rsData.GetOrdinal("M_Start")) && (DateTime)rsData["M_Start"] < feedate)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)