设计可更新数据源表的本地视图

设计可更新数据源表的本地视图,第1张

设计可更新数据源表的本地视图,第2张

在设计好本地视图后,我们通常希望在表单应用中更新对应数据源的记录,也就是对视图增加、修改或删除的记录都能在对应的数据表中得到体现。更新数据源表的本地视图的方法如下。

设置关键字段。若要设计可以更新数据源的本地视图,必须为本地视图指定一个键字段。更新数据源时,关键字段将作为本地视图中的记录与数据源中的记录进行比较的基础,以确定记录是否发生了变化。您可以指定多个字段组合成关键字段,以确保关键字段可以确定记录。如果本地视图对应于多个要更新的数据源表,则必须为每个数据源至少设置一个键字段。
通常,数据源中对应于主键或候选键的字段应被指定为视图的键字段。
指定可更新的字段。只有当它被指定为可更新字段时,它才能更新数据源中的相应字段。单击字段名列表中要指定为可更新字段的字段左侧的铅笔符号列的位置,该位置也会出现一个按钮。单击该按钮会出现一个复选标记,表示该字段已被指定为可更新字段。未被指定为可更新字段的字段是只读的。即使视图中只读字段的值发生了更改,它们也不能更新数据源。
您可以点击左侧的“全部更新”按钮,将所有非关键字段设置为可更新字段。

在“更新条件”页面中选择“发送SQL更新”复选框项目。选中该字段后,可以使用UpdateSQL语句将更新的记录字段更新到数据源中的表中。

选择如何检测更新冲突。在“更新条件”页面中,有一个“SQLWHERE子句包含”框,其中的选项用于控制将哪些字段添加到WHERE子句中。当视图修改传输到数据源表时,可以检测到服务器上的更新冲突。冲突是由视图中的旧值(不是修改后的值)和数据源中的当前值(OLDVAL()和CURVAL()之间的比较)之间的比较来确定的。如果两个值相等,则认为原始值没有被修改,没有冲突;如果它们不相等,则存在冲突,数据源将返回一条错误消息。
-旧值与当前值冲突返回的错误为“错误1585:记录已被其他人修改”或“错误1494:更新冲突”。请使用TABLEUPDATE()强制更新,或使用TABLEREVERT()回滚。
-"SQL where子句包含"包括以下选项:

关键字段:如果数据源表中的关键字段发生更改,请设置WHERE子句来检测冲突。但是,不会比较其他用户对数据源表中原始记录的其他字段所做的修改。它是最保守的更新方式,根本不考虑本地视图中输出的哪些字段是可更新的,只是将本地视图中的所有记录与关键字段进行比较。

和关键字可更新字段:如果另一个用户修改了任何可更新字段,则设置WHERE子句来检测冲突。

关键字和修改的字段:如果在第一次从视图中检索后,关键字字段或数据源表中记录的修改字段中的某个字段已被修改(默认),请设置WHERE子句来检测冲突。

关键字段和时间戳:用于远程视图,但不用于本地视图。
选择如何更新数据源。在更新条件页面有一个“使用更新”框,提供了两种更新数据源的方式来指定字段在后端服务器上的更新方式:
SQLDELETE/INSERT方法:先删除数据源表中的原始记录,然后在视图中插入一条修改过的新记录,即update = delete+insert。

SQLUPDATE模式:修改后的数据源表的字段值被视图字段中的更改所替换。-这个本地视图只有在仔细设置了上述内容后,才能用来更新数据源表的数据。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 设计可更新数据源表的本地视图

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情