我想问你一个问题,我有一个查询到系统表。 这是我错的代码。
string current_query = "*[(System[TimeCreated[@SystemTime > '" + dateini + "']]) and (System[TimeCreated[@SystemTime < '" + datenext + "']])]";
Console.WriteLine(current_query);
EventLogQuery eventsQuery = new EventLogQuery(log_location, PathType.FilePath, current_query);
EventLogReader logReader = new EventLogReader(eventsQuery);
dateini和datenext是DateTime变量。我认为问题是我读了两次表。但我需要阅读两次,因为我需要获取一整天系统的日志,我想我必须比较两个系统时间。
有关重建咨询的任何建议。
更新: 我尝试这个查询的结果相同。
string current_query = "*[(Event/System/TimeCreated/@SystemTime > " + dateini + ") and (Event/System/TimeCreated/@SystemTime < " + datenext + ")]";
Console.WriteLine(current_query);
EventLogQuery eventsQuery = new EventLogQuery(log_location, PathType.FilePath, current_query);
EventLogReader logReader = new EventLogReader(eventsQuery);
我需要帮助,因为我不知道查询中的错误是什么。
答案 0 :(得分:0)
TimeCreated的形式为:
<TimeCreated SystemTime="2013-08-15T16:21:21.000000000Z" />
您的约会时间是否正确?
查询不应该更像:
Event/System/TimeCreated/@SystemTime
有关示例,请参阅MSDN和reading-event-logs-efficiently-using-c。
修改强>
你为什么使用&gt;和lt; ?改变LT;到&lt;
事实证明这是问题所在。