c# - If 语句 - 将数据读取器值与日期时间进行比较

标签 c# if-statement sqldatareader

希望大家能帮我解决一下我遇到的小问题。我在尝试检查数据读取器值是否小于指定的日期时间值时遇到一些错误,需要一些帮助。

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

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

我有点困惑,因为 C# 对我来说仍然很新,所以非常感谢您的帮助!

谢谢。

最佳答案

  1. 您应该使用逻辑和 && 来代替
  2. 您应该使用 DataReader.IsDBNull 来代替
  3. 您不应该将 DateTimeString 进行比较,为什么要将其转换为字符串?
<小时/>
DateTime feedate = new DateTime(2013, 09, 01);
if (!rsData.IsDBNull(rsData.GetOrdinal("M_Start")) && (DateTime)rsData["M_Start"] < feedate)
{
    // ...
}

关于c# - If 语句 - 将数据读取器值与日期时间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16274838/

相关文章:

javascript - 如何使用 AJAX 正确调用 MVC Controller

c# - 手动设置 operationId 以允许在 Swashbuckle 中使用同一个动词进行多个操作

c# - 使用附加属性序列化自定义集合并添加到连接项 propertyChanged 事件

python - Python中根据多个条件返回列的方法

python - 有条件地写入不同的输出文件

c# - 我的 SqlDataReader 没有行?

c# - 如何在C#中使用SqlDataReader读取多行和多列

c# - SQLDataReader 行计数

C# 使用 WMI 从 COMAdmin.COMAdminCatalog 访问数据

c# - 开关盒编程实践