我在这里遇到了一个非常奇怪的情况。我正在通过 JET 访问数据库 (MDB)。我使用 DBGrid 和 DBNavigator 来允许用户访问它。数据集是使用 TADOQuery 组件创建的,具有以下查询:
SELECT *, (DateDiff ('y',[Birth Date], Now())) AS [Age] FROM TableName
它工作正常。但是每当我按下 DBNavigator 上的刷新按钮时,这个计算字段的结果就会出错。例如,如果通常我在 Age 列上显示 7,按 Refresh 后它变为 40149,7 变为 40149,6 变为 40150,0 变为 40156 等。为了查看正确的结果,我需要再次重新打开查询。
有人可以帮忙吗?