Delphi 三层TDataSetProvider

Delphi 三层TDataSetProvider,第1张

概述在Delphi想使用三层架构或者使用TClientDataSet控件,一般都需要引用TDataSetProvider控件,现对TDataSetProvider控件的Options属性值做一个简单的分析。 1. poFetchBlobsOnDemand: 若包含此项,则表示数据包中不包括BLOB字段。不过,如果客户端的TClientDataSet控件的FetchOnDemand属性设为True,那么

在Delphi想使用三层架构或者使用TClIEntDataSet控件,一般都需要引用TDataSetProvIDer控件,现对TDataSetProvIDer控件的Options属性值做一个简单的分析。

1. poFetchBlobsondemand:

若包含此项,则表示数据包中不包括BLOB字段。不过,如果客户端的TClIEntDataSet控件的Fetchondemand属性设为True,那么客户端还是能自动地请求这些数据值;否则,客户端应用程序必须使用客户数据集的FetchBlobs方法来检索BolB数据。

2. poFetchDetailsondemand: 

当用嵌套表的方式处理Master/Detail关系时,这里的ProvIDer表示主 /明细表中的主表。若包含此项,则Detail表中的字段将不会放入包中。不过,如果客户端的TclIEntDataSet控件的Fetchondemand属性为True;那么客户端还是能自动的请求这些数据;否则,要显式调用FetchDetails方法。

3. poIncFIEldProps:

若包含此项,则表示数据包中将包含下列字段属性:Alignment、MinValue、displayLabel、displayWIDth、Visible、DidplayFormat、MaxValue、EditFormat、Currency、EditMask、displayValues等。

4. poCascadeDeletes:

当用嵌套表的方式处理Master/Detail关系时,这里的ProvIDer表示主/明细表中的主表。若包含此项,则当主表中的记录被删除时,明细表中相应的记录将自动地被删除。

注意:要使用这个选项,数据库服务器需要建立参照完整性:也就是,在数据库中对主细表建立主外键关系,并在 “关系”页选中“级联更新相关字段”、“级联删除相关记录”。

5. poCascadeUpdates:

当用嵌套表的方式处理Master/Detail关系时,这里的ProvIDer表示主/明细表中的主表。若包含此项,则当主表中主键字段的值改变时,明细表中相应的记录将自动地被更新。

注意:要使用这个选项,数据库服务器需要建立参照完整性。参照4。

6. poReadonly:

若包含此项,则表示不允许客户端数据集向ProvIDer申请更新数据。

7. poAllowMultiRecordUpdates:

表示一个单一的更新将同时更新关联的许多表的记录,这有可能是通过触发、参照完整性或自定义的SQL语句来实现的。

8. podisableEdits:

若包含此项,则表示不允许客户端更新已经存在的数据值,否则,将触发异常。

9. podisableInserts:

若包含此项,则表示不允许客户端插入一个新的记录,否则,将触发异常。

10. poNoreset:

若包含此项,则表示在提供数据前,不允许客户端将光标指定在第一条记录。

11. poautoRefresh:

若包含此项,则表示ProvIDer将用当前的记录刷新客户端的数据集,而不管它是否已经申请更新。(这个功能好像并没有实现)

12. poPropogateChanges:

若包含此项,则表示服务器对记录的更新将返回给客户端并反映到客户端数据集中。

13. poAllowCommandText:

若包含此项,则表示客户端可以重载相关数据集的SQL语句、表的名字或存储过程。

总结

以上是内存溢出为你收集整理的Delphi 三层TDataSetProvider全部内容,希望文章能够帮你解决Delphi 三层TDataSetProvider所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1273950.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存