| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1016 人关注过本帖
标题:请教:判定表被修改过的函数
只看楼主 加入收藏
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
结帖率:90.48%
收藏
已结贴  问题点数:20 回复次数:12 
请教:判定表被修改过的函数
请教,VFP有判定字段被修改过的函数,但是否有判定表被修改过的函数?谢谢!
搜索更多相关主题的帖子: 函数 
2012-01-01 11:05
软件服务
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:344
专家分:736
注 册:2011-12-23
收藏
得分:5 
OLDVAL()
2012-01-01 11:25
tlliqi
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:204
帖 子:15453
专家分:65956
注 册:2006-4-27
收藏
得分:5 
oldval()是表中字段的原始值,curval()是更新后的字段的值
2012-01-01 15:29
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:5 
所谓表被修改过,有许多情形,似乎没有单一的检测办法,要视具体需求而定。

授人以渔,不授人以鱼。
2012-01-02 14:43
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2215
专家分:3882
注 册:2007-4-27
收藏
得分:5 
【名称】
    OLDVAL()函数
【类别】
    函数
【描述】
    返回字段的初始值,该字段值已被修改但还未更新。
【原形】
    OLDVAL(cExpression [, cTableAlias |nWorkArea])
【参数】
    cExpression
    指定一表达式,OLDVAL( )函数从表或远程数据源中返回其初始值。一般情况下,cExpression是一个字段,或者是一个表达式,此表达式包含了表或远程数据源中一系列字段。
    cTableAlias
    指定表或临时表的别名,从中返回字段初始值。
    nWorkArea
    指定表或临时表所在的工作区,从中返回字段初始值。
【返回值】
    字符型、货币型、日期型、日期时间型、双精度型、浮点型、整型、逻辑型、数值型或备注型。
【示例】
    CLOSE DATABASES
    OPEN DATABASE mydata
    USE book
    SET MULTILOCKS ON && 允许表缓冲
    = CURSORSETPROP("Buffering",5)
    REPLACE bookname WITH "Visual FoxPro" &&设置新值
    ? "当前值:" + CURVAL("bookname", "book")
    ? "原先值:" + OLDVAL("bookname", "book")
    = TABLEUPDATE(.T.) &&提交表修改
    ? "新的当前值:" + CURVAL("bookname", "book")
    ? "新的原先值:" + OLDVAL("bookname", "book")

只求每天有一丁点儿的进步就可以了
2012-01-02 14:44
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:109
帖 子:2215
专家分:3882
注 册:2007-4-27
收藏
得分:0 
【名称】
    CURVAL()函数
【类别】
    函数
【描述】
    从磁盘上的表或远程数据源中直接返回字段值。
【原形】
    CURVAL(cExpression[,cTableAlias |nWorkArea])
【参数】
    cExpression
    指定一个表达式,CURVAL( )从表或远程数据源返回该表达式的值。cExpression通常是表或远程数据源的一个字段或包含一组字段的表达式。
    cTableAlias
    指定表的别名,可从磁盘上的表或远程数据源返回该表的字段值。
    nWorkArea
    cExpression
    指定一个表达式,CURVAL( )从表或远程数据源返回该表达式的值。cExpression通常是表或远程数据源的一个字段或包含一组字段的表达式。
    cTableAlias
    指定表的别名,可从磁盘上的表或远程数据源返回该表的字段值。
    nWorkArea
    指定表的工作区,可从磁盘上的表或远程数据源返回该表的字段值。
【返回值】
    字符型、货币型、日期型、日期时间型、双精度型、浮点型、逻辑型、数值型或备注型
【示例】
    CLOSE DATABASES
    OPEN DATABASE mydata
    USE book
    SET MULTILOCKS ON && 允许表缓冲
    = CURSORSETPROP("Buffering",5)
    REPLACE bookname WITH "Visual FoxPro" &&设置新值
    ? "当前值:" + CURVAL("bookname", "book")
    ? "原先值:" + OLDVAL("bookname", "book")
    = TABLEUPDATE(.T.) &&提交表修改
    ? "新的当前值:" + CURVAL("bookname", "book")
    ? "新的原先值:" + OLDVAL("bookname", "book")
 

只求每天有一丁点儿的进步就可以了
2012-01-02 14:45
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
表被修改过的情形:
1.记录值有改动;
2.增删记录;
3.表结构被改动;
4.记录被修改过但又复原;
5.物理排序过;
……暂时没想到,如果是数据库内表,还有验证规则、储存过程等

[ 本帖最后由 TonyDeng 于 2012-1-2 15:45 编辑 ]

授人以渔,不授人以鱼。
2012-01-02 15:36
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:0 
谢谢楼上各位的回复!
用GETFLDSTATE( )函数也可以得到表或临时表中的字段是否已被修改。
但我想知道自由表是否被修改了,即7楼的“1.记录值有改动”

相互学习,互相交流,共同提高。
2012-01-02 20:37
软件服务
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:344
专家分:736
注 册:2011-12-23
收藏
得分:0 
自由表也可以
2012-01-03 13:13
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
我不知道你要在什么情形下做怎样程度的这个检测,可能已经解决了吧。

授人以渔,不授人以鱼。
2012-01-05 02:08
快速回复:请教:判定表被修改过的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017420 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved