数据不显示基于日期
Data not displaying based on dates
我是一所大学的学生员工,我为我们的设施部门开发应用程序。我们有几个用 Visual FoxPro 编写的内部应用程序(是的,我知道它不再受支持),我帮助维护。最近我们发现我们的 table 之一在按日期过滤时出现问题。如果您查看 table,所有数据都显示正常。但是,如果您 运行 对其进行 SELECT 查询,查找日期范围内的所有记录,奇怪的事情就会开始发生。
如果开始日期<= 2014/12/13,结束日期为2015年或没有结束日期,则结果集不包含2014/12/13之后的任何记录。
如果开始日期 <= 2014/12/14,结束日期在 2015 年或没有结束日期,结果集将包含正确的记录。
视图以及在命令 window.
中执行独立 SELECT 语句时也会表现出相同的行为
我今天早上发现,如果我在命令 window 中使用 SET FILTER TO 命令,我会得到正确的结果。
有没有其他人经历过类似的事情?
试试这个:
SELECT * FROM Purchreq WHERE Log_date >= CTOD('12/13/2014')
正如 Tamar 所建议的,它很可能是损坏的索引。
运行 从命令 window 验证数据库恢复没有帮助。
我们之前为修复损坏的索引而编写的程序也没有帮助,尽管两者都报告成功 运行。
我们采取了更激进的措施,从 table 中删除了索引。这给了我们关于 .DTC 文件的错误,但索引不见了,SELECT 按预期工作。
我们再次添加了索引,遇到了同样的 .DCT 文件错误,SELECT 又回到了不工作的状态。
此时我们调查了 .DCT 文件并意识到最后更新日期是一周前,而不是今天,就像与数据库关联的所有其他文件一样。
我们使用了 foxpros 清理数据库命令,然后再次添加了索引,没有出现 .DCT 错误,SELECT 运行良好。
感谢您的所有帮助和建议。
我是一所大学的学生员工,我为我们的设施部门开发应用程序。我们有几个用 Visual FoxPro 编写的内部应用程序(是的,我知道它不再受支持),我帮助维护。最近我们发现我们的 table 之一在按日期过滤时出现问题。如果您查看 table,所有数据都显示正常。但是,如果您 运行 对其进行 SELECT 查询,查找日期范围内的所有记录,奇怪的事情就会开始发生。
如果开始日期<= 2014/12/13,结束日期为2015年或没有结束日期,则结果集不包含2014/12/13之后的任何记录。
如果开始日期 <= 2014/12/14,结束日期在 2015 年或没有结束日期,结果集将包含正确的记录。
视图以及在命令 window.
中执行独立 SELECT 语句时也会表现出相同的行为我今天早上发现,如果我在命令 window 中使用 SET FILTER TO 命令,我会得到正确的结果。
有没有其他人经历过类似的事情?
试试这个:
SELECT * FROM Purchreq WHERE Log_date >= CTOD('12/13/2014')
正如 Tamar 所建议的,它很可能是损坏的索引。 运行 从命令 window 验证数据库恢复没有帮助。 我们之前为修复损坏的索引而编写的程序也没有帮助,尽管两者都报告成功 运行。
我们采取了更激进的措施,从 table 中删除了索引。这给了我们关于 .DTC 文件的错误,但索引不见了,SELECT 按预期工作。
我们再次添加了索引,遇到了同样的 .DCT 文件错误,SELECT 又回到了不工作的状态。
此时我们调查了 .DCT 文件并意识到最后更新日期是一周前,而不是今天,就像与数据库关联的所有其他文件一样。
我们使用了 foxpros 清理数据库命令,然后再次添加了索引,没有出现 .DCT 错误,SELECT 运行良好。
感谢您的所有帮助和建议。