【问题标题】:Add a last-updated timestamp to a FoxPro table将上次更新的时间戳添加到 FoxPro 表
【发布时间】:2011-06-07 14:56:13
【问题描述】:

我正在 FoxPro 和远程 SQL Server 之间同步数据。一切都很好,但在 FoxPro 方面,如果我能检测到不需要考虑同步的记录,它会快得多。我计算一个散列值以与最后一个已知的散列进行比较,因此加载记录很容易。我想做的是在加载记录之前过滤掉记录,方法是检查 updated 列与上次同步的开始时间。

如何将updated 列添加到 VFP 9 表中,每当对行进行更改时,该表都会填充当前日期和时间?

【问题讨论】:

    标签: foxpro visual-foxpro


    【解决方案1】:

    假设表在 VFP 数据库中(即不是空闲表),向表中添加日期时间列并设置表规则以填充该字段。假设您有可用的 VFP,您可以在表设计器中或使用代码执行此操作。

    ALTER TABLE YourTable ADD tUpdated T
    ALTER TABLE YourTable SET CHECK YourFunction()
    

    正如语法所示,您需要定义一个函数(或 VFP 数据库中的存储过程)以在规则触发时实际运行。您希望它返回 true。函数中的代码可以很简单:

    REPLACE tUpdated WITH DATETIME()
    RETURN .T.
    

    添马舰

    【讨论】:

    • 谢谢。我无法以编程方式添加存储过程(这段代码在运行时从分布式 .exe 执行,APPEND PROCEDURES 仅在 IDE 内有效),所以我使用了SET CHECK EXECSCRIPT("REPLACE tUpdated WITH DATETIME()")
    猜你喜欢
    • 1970-01-01
    • 2010-12-17
    • 2011-11-24
    • 2010-09-18
    • 2012-04-04
    • 2010-10-26
    • 2014-03-18
    相关资源
    最近更新 更多