我用的外部数据库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编辑过]