📄 hnxxcxg设置tdatasetprovider.txt
字号:
TdatasetProvider组件的updateMOde属性值会影响TdatasetProvider组件产生什么样的SQL叙述来更新数据。默认值是upWhereAll,这是最严格的设定。当TdatasetProvider要更新一笔数据之前,它会使用这笔数据尚未被更新之前的旧字段数据先试着在数据库中找到这笔要更新的数据。当TdatasetProvider从数据库中找到和所有旧字段数值完全一样的记录时,才允许应用服务器更新它。否则,会产生“record has been changed by another user”。
updateMode设定为upWhereKeyOnly当TdatasetProvider在数据库中寻找要被更新的数据时,是直接使用数据的索引值来搜索数据时。不但需要比对的字段较少,而且可以藉重使用数据库的索引,因此在寻找数据和更新数据时都会比较快速。所以当程序员在开发应用服务器时,如果不需要最严格的数据整合性,或是键值不会被更新的情形下,设定updateMode为upWhereKeyOnly会有最好的执行效率。
upWhereChanged
使用键值字段,以及任何被更新过的字段作为搜索,比对的字段。
如果使用TdatasetProvider连接的数据集来更新数据,则由数据集的updateMode属性设计值来控制的,TdatasetProvider的设定值不再有影响力。数据集的updateMode属性值的设定同TdatasetProvider的设定类似。
当TdatasetProvider的resolveToDataset属性为false时,TdatasetProvider是自己产生更新数据的SQL叙述把更新的数据更新回数据库。当resolveToDataset属性为true时,它则调用它连接的数据集组件把更新的数据更新回数据库。可以考虑在应用服务器中使用组件调用存储过程来更新数据。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -