如何在PB数据窗口中修改数据设置数据窗口的更新属性

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据窗口对象非常强大地原因之一就是能够很容易地修改数据库.当用户修改了数据窗口中地数据,插入了新地数据行或者删除了数据行以后,只要调用()函数就可以将修改了地数据保存到数据库中.但是,这需要一个前提,就是必须设置数据窗口地修改属性.
数据窗口要修改数据表,首先清楚数据窗口只能修改一个数据表.当数据窗口地数据来源于不止一个数据表时,可以用脚本控制数据窗口地修改属性来对数据表逐个进行修改,这种技术在后面有关章节介绍.下面介绍一次修改一个数据表地设定方法.
当数据窗口是用来接受用户地手工录入数据时,应该设置两方面地属性才能确保数据窗口能够用来修改数据表.一个是修改数据窗口地修改属性,另一个是用户可以修改地字段地相关属性值.
首先介绍数据窗口地修改属性地设置.在数据窗口画板中,使用菜单项> ,弹出如图所示地窗口.
数据窗口地所有修改属性都集中在该窗口中.如果数据窗口对应地数据表中定义了主键或者惟一性索引,则数据窗口创建时缺省地就是允许修改,并且正确设置了所有地修改属性.否则就需要手工进行设置.前面介绍过,当增加、删除或者重新选择了字段时,将数据窗口地修改属性置为不允许,这时也应该进行手工设置.
首先应该选中选项,只有选中该选项,才允许继续进行其他属性地设定.在右面地下拉列表框叫做,只能在该下拉列表框中选择一个,并且必须选择一个数据表名,选中地表就是要被更新地表.
选中了属性后,接下来就要指定在数据窗口中哪些列被更新.在列表框中用鼠标单击被更新地字段.当数据窗口中地字段来自不止一个数据表时,这时一定要选择同一个表中地字段,因为一个数据窗口一次只能更新一个数据表.当数据窗口中增添了字段时,新增添地字段往往是不允许修改地,一定要在该列表框中选择该字段.
选择了可以修改地字段后,就应该在()列表框中选择惟一标识一行地列.如果在定义数据表时定义了主键,单击右面地按钮可以在该列表框中选中主键.
组框中包含了三个选项,用来配置如何在和语句中构造字句地.这三个选项为数据库加锁提供了三种不同地选择.当某行被选中时,用户可以通过对象来提供完整性保护,可以防止其他用户检索该行.这三个选项是:、和.下面分别详细介绍.

当开发单用户应用程序或者用户都以加锁方式访问数据库时可以选中该选项.该选项表示数据窗口只使用在()列表框中指定地惟一列进行数据更新.使用这种方式来修改数据库,并发性很高,不同地用户都可以并发地访问数据库,但是数据地完整性却非常差.因此要保证数据完整性,只有在单用户应用程序或者加锁访问方式下才使用这种修改方式.
例如,在(通讯录)数据表中定义了个字段,为主键,、、、四个字段为可修改字段,某数据窗口包含这个字段并且使用更新数据库.有如下一条数据:

:朱义
:胜利油田


假设甲用户修改了这条数据,将改为“郭宝利”,数据窗口产生如下地语句:
"郭宝利"
"";
其中地字句中只包含在中指定地字段,用该字段来确定要修改数据库中哪行数据.该语句将成功执行.如果乙用户要将字段修改为“冀东油田”,甲、乙用户同时并发修改为地数据,都会修改成功,但会产生如下地数据:

:郭宝利
:冀东油田


两个人同时修改了一条记录,本来地址是胜利油田地郭宝利却成了冀东油田地了.

这种修改方式是缺省地修改方式,它用主键列和可以修改地列来创建子句,具有很高地数据完整性,但是并发性却不是太好.推荐使用这种修改方式.
像上面例子一样,如果甲用户做修改操作,保存数据时将产生如下地语句:
"郭宝利"
""
"朱义"
"胜利油田"
""
"";
该语句中地子句包含了主键和所有地可修改字段.如果乙用户是在甲保存修改了地数据之前检索地数据,当乙用户要将修改为“冀东油田”时,产生如下地语句:
"冀东油田"
""
"朱义"
"胜利油田"
""
"";
此时,由于甲用户已经修改了数据,将改成了“郭宝利”,所以乙用户地子句中指定地数据在数据库中已经不存在了,乙地修改不成功,从而保证了数据地完整性.

该方法是上面两种方法地折衷,当不同地用户并发修改同一行数据地不同字段时,都能成功修改,所以它地并发性有了一定地限制,数据地完整性比第一种修改方式有所提高.这种修改方式使用主键和数据发生了变化地列来产生子句.同样,在上面地例子中,甲用户要将“朱义”修改为“郭宝利”会产生如下地语句:
"郭宝利"
""
"朱义";
这时地子句中只包含主键和要修改地字段.如果此时乙用户并发修改数据,要将为“”地用户地修改为“冀东油田”,乙用户也会成功修改.
.时间标记
如果数据库管理系统支持时间标记,则可以在对象地结果集中包含时间标记来获得最大地数据完整性.将自动为更新和删除操作地子句加上时间标记,而不显示在可更新列地列表中.、完全在服务器上处理时间标记,在中不要求有额外地工作.

该组框用来指定当用户修改了主键时,数据窗口如何来更新数据表中地主键字段.有两种选择,和 .
第一个选项是先删除原有主键值,然后再使用新地主键值插入一个完整地行.使用这种更新主键地方式可以减少组织数据地工作量,但在数据库中各个数据表之间存在父子制约关系,并且依赖该主键地外部键被指定为级联删除时,操作就不会成功地.因为级联删除方式要求当依赖主键地外部键有数据时就不能删除主键.
当允许更新主键列时,可以使用该选项,该选项直接修改主键值,所以防止了级联删除带来地操作不成功地问题.

该下拉列表框用于为下拉列表框中所指定地列(通常是主键列)生成序号,当且仅当支持序号生成时该作用才有效.
当正确进行了上述所有操作后,单击按钮即完成了修改属性地设置.如果数据窗口允许手工录入数据,接下来就应该设置可修改字段地相关属性了.主要包括如下属性:
字段地值.
字段地属性.
字段地属性.
字段地属性.
上述属性前个中任意一个都可以让用户无法修改字段中地数据;最后一个属性决定字段是否可见,不可见地字段不管其他属性如何设置,用户都无法修改字段中地数据.
首先介绍如何设置字段地值.使用菜单项> 可以在窗口显示各字段地当前值,用鼠标单击要修改值地字段,然后手工将值改为非即可.在设置时要注意三点:
()用户可以手工修改地字段,其值不能为.
()在数据窗口修改属性中,不允许修改地字段其值应该为,或者其属性应该选中.
()取值决定字段获得焦点地顺序.在数据窗口中使用按钮在字段间切换时,取值小地首先获得焦点,最大地最后获得焦点.
字段地属性设置字段是否被保护.如果该属性设置为,则不允许用户修改字段中地数据,即使设置为非零.字段地属性决定字段中地内容是否只用来显示,当属性设置为或者时,字段中地数据不允许用户修改,不管其他几个属性是如何设置地.属性只能使用表达式,选中字段后在属性视窗属性中单击右侧地红色小按钮(如果已经有表达式,则按钮为绿色),进入到表达式输入对话框,输入该属性地表达式即可.比如,设置用户不能修改字段原来地数据,可以输入如下地表达式:
(())
字段地属性在属性视窗中,选中该选项表示该字段中地数据只用来显示,不允许用户修改.该属性不能使用表达式.在中,编辑类型地控件都有该属性,并且属性地作用也是相同地.
当字段地值为时,肯定不能获得焦点,但是非时也不一定能获得焦点,还得看字段地属性是否设置为;当字段地值不为,属性不为并且字段地属性为时,肯定可以获得焦点.属性和
焦点是否能够获得无关.文档收集自网络,仅用于个人学习。

相关文档
最新文档