Foxtable(狐表)用户栏目专家坐堂 → [求助]关于HasChanges及DataRowState修改状态的几点疑问


  共有5753人关注过本帖树形打印复制链接

主题:[求助]关于HasChanges及DataRowState修改状态的几点疑问

帅哥哟,离线,有人找我吗?
jnletao
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
[求助]关于HasChanges及DataRowState修改状态的几点疑问  发帖心情 Post By:2013/9/26 13:17:00 [只看该作者]

我用的外部数据库MSSQL2000,新手,对foxtable及数据库有些概念不太清楚,请大能解惑!
以下问题也可能比较零乱,不过都是在实际操作时想到的,请大能海涵!
=====================================================================================
1,HasChanges的作用范围
帮助说明:【逻辑型,判断DataTable的数据是否已经被修改。】
疑问1-1。请问这个修改状态是相对项目而言,还是相对外部数据库?
意思是假设 对于表A的一条记录,如果我本地只是查看,而另一用户在做修改操作,那么我本地查看时状态HasChanges是True还是false

解答请填这里:本地

-----------------------------------------------------------------
疑问1-2。HasChanges是针对当前行状态,还是所有行状态?
意思是假设 对于表A,第一条记录作了修改没保存,而我当前查看的是第二条记录,那么我在关闭窗体时做状态检测,HasChanges是True还是false

解答请填这里:所有行

-----------------------------------------------------------------
2,RowState的作用范围
帮助说明:【返回行的状态。行状态是一个DataRowState型枚举,包括以下值:Added Modified Unchanged Detached】
疑问2-1。请问这个行状态是相对tables而言,还是相对datatables?

解答请填这里:RowState是DataRow的属性,Table只是显示,所有数据都在DataTable

-----------------------------------------------------------------
疑问2-2. 假设 在窗体里对某条记录要做修改,关闭时要检测此条记录是否被改动了,
是用RowState还是HasChanges ?
RowState与HasChanges有什么区别?

解答请填这里:RowState

-----------------------------------------------------------------
疑问2-3.Reject与RejectChanges()的区别与作用范围
接上题,如果关闭时让用户选择是保存记录还是撤销记录,该用Reject还是RejectChanges()?
Reject与RejectChanges()的区别与作用范围是什么?

解答请填这里:你要撤销行的修改,就执行这一行的Reject,你要撤销某个表的全部修改,就执行这个表的Rejectchanges

-----------------------------------------------------------------
疑问2-4.它们撤销的本地修改记录,还是数据库记录?
意思是 对于同一条记录,我本地在改,另一用户也在修改,修改的可能是同一字段,也可能是不同字段,
---我撤销的是我做的修改,还是所有用户做的修改?
---撤销只是当前记录,还有所有已修改未保存的记录?

解答请填这里:撤销的当然是本地

-----------------------------------------------------------------

[此贴子已经被作者于2013-9-30 17:45:40编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/26 14:46:00 [只看该作者]

1、本地
2、所有行
3、RowState是DataRow的属性,Table只是显示,所有数据都在DataTable
4、RowState
5、你要撤销行的修改,就执行这一行的Reject,你要撤销某个表的全部修改,就执行这个表的Rejectchanges
6、撤销的当然是本地

 

建议你实际测试一下,加深印象。

 

[此贴子已经被作者于2013-9-26 14:46:42编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/26 14:47:00 [只看该作者]

图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
jspta
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/9/26 14:51:00 [只看该作者]

简单说下,这些是针对项目加载的表

haschange和Rejectchange针对表,

rowsstatus和reject是针对行的,

 

多个用户操作,同时修改,这种判断是无效的,因为是针对加载后的。

 


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/26 14:53:00 [只看该作者]

是的

 回到顶部
帅哥哟,离线,有人找我吗?
jnletao
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:936 积分:7719 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/26 14:56:00 [只看该作者]

以下是引用jspta在2013-9-26 14:51:00的发言:

简单说下,这些是针对项目加载的表

haschange和Rejectchange针对表,

rowsstatus和reject是针对行的,

 

多个用户操作,同时修改,这种判断是无效的,因为是针对加载后的。

 

那在网络多用户中如何 有效判断?


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/26 15:02:00 [只看该作者]

不能判断。

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/9/26 15:03:00 [只看该作者]

不过可以看看:

 

http://www.foxtable.com/help/topics/2368.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
hanxuntx
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/9/26 15:54:00 [只看该作者]

这个是新增的属性么?

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/26 16:06:00 [只看该作者]

一直都有的呢.

 回到顶部
总数 11 1 2 下一页