代码之家  ›  专栏  ›  技术社区  ›  usr-local-ΕΨΗΕΛΩΝ

ADO.NET:在超时时查询数据表

  •  0
  • usr-local-ΕΨΗΕΛΩΝ  · 技术社区  · 14 年前

    我有一个内存数据表,它包含两个类型的字段 DateTime ,分别表示最后一次实体发送活动日志消息和最后一次实体发送心跳(“我还活着”)日志消息的时间。

    (LastAction > Now-timeout || LastHeartbeat > Now-timeout) 现在还可以。超时值以整数秒表示。

    目前我分为两行

    DateTime lastActivity = DateTime.UtcNow.Subtract(TimeSpan.FromSeconds(maxinactivity));
    filters.Add(string.Format("({0} >= {2} OR {1} >= {2}}", _colLastAction.ColumnName, _colLastHeartbeat.ColumnName, lastActivity.ToString(CultureInfo.InvariantCulture)));
    

    最终结果会是 (LastAction >= #...# OR LastHeartbeat >= #...#) 取决于当前执行查询的时间

    我的问题是:我能做减法吗 从查询中

    谢谢你

    1 回复  |  直到 14 年前
        1
  •  1
  •   Adam Robinson    14 年前

    如果您要问的是是否可以在查询字符串中执行日期算术,则不可以;中提供的筛选和查询功能 DataTable DataView 都很简单。根据你正在做的事情,你最好改用LINQ查询。