Delphi 三层TDataSetProvider
在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三层开发小技巧:TClientDataSet的Delta妙用
Delphi三层开发小技巧:TClientDataSet的Delta妙用 转载 2014年10月13日 09:41:14 标签: 三层 / ClientDataSet 318 from :http:/ ...
- Delphi三层网络架构代码实现
Delphi三层网络架构代码实现 1 .三层网络的概念 三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为: 表现层(UI).业务逻辑层(BLL).数据访 ...
- 论DELPHI三层的数据序列格式的变化
论DELPHI三层的数据序列格式的变化 要窥三层的数据序列格式,我们可以通过观察DELPHI官方的客户端内存表. 早先流行的是TClientDataSet,它的Data和Delta属性的数据类型都是: ...
- delphi 三层架构简单例子(经测试成功)
delphi 三层架构简单例子(经测试成功) 转载 2013年12月19日 09:48:57 1100 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服 ...
- Delphi 三层框架 DataSnap 的服务器端设置
elphi 三层框架 DataSnap 的服务器端设置: DataSnap 框架有三个模块:DataSnap Server,Server Module,DataSnap Client Module. ...
- delphi三层架构
我们的delphi程序很多是以前开发的,采用典型的CS架构,由程序直接连接数据库.现在需要改成在外网可以直接操作软件.先把数据库搬到了阿里云上,测试发现直接连数据库和VPN连接测试速度很慢,直连还容易 ...
- delphi三层架构(使用SATRDA改造,客户端代码不变)
我们的delphi程序很多是以前开发的,采用典型的CS架构,由程序直接连接数据库.现在需要改成在外网可以直接操作软件.先把数据库搬到了阿里云上,测试发现直接连数据库和VPN连接测试速度很慢,直连还容易 ...
- delphi三层结构常出现的问题和解决方案
以下问题出现原因有可能多个,暂时将我遇见的记录下来,以后有新的在陆续更新上去,有网友愿意的话也可以共同测试一下. 一,无法更新定位行.一些值可能已在最后一次读取已更改. 错误出现前提: 1, 录数据时 ...
- Delphi 三层框架开发 服务端开发
采用Delphi7+SQL2008 一.创建数据库和表 CREATE TABLE [dbo].[tb_Department]( [FKey] [uniqueidentifier] NOT NULL, ...
随机推荐
- [转][Java]尝试解决Java多行字符串的编辑问题
转自:https://blog.csdn.net/jiuwuerliu/article/details/51207045 参考了:https://www.v2ex.com/amp/t/445522 除 ...
- dropwizard使用cors支持跨域浏览器取不到自定义header问题
dropwizard支持cors的配置如下: public void run(Configuration conf, Environment environment) { // Enable CORS ...
- python之路——5
王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 复习 1. 列表操作 增 append insert extend 删 remove pop clear d ...
- DNS解析分析
一.基本概念 域名系统: 域名系统(英文:Domain Name System,缩写:DNS)是因特网的一项服务.它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网.DNS使 ...
- SSH框架总结(环境搭建+框架分析+实例源码下载)
一.SSH框架简介 SSH是struts+spring+hibernate集成的web应用程序开源框架. Struts:用来控制的,核心控制器是Controller. Spring:对Struts和H ...
- 第16课 右值引用(3)_std::forward与完美转发
1. std::forward原型 template <typename T> T&& forward(typename std::remove_reference< ...
- 用树莓派开Wifi热点
安装软件 首先设置软件源: vim /etc/apt/sources.list 查看软件源后面的版本,如果是wheezy,需要换成jessie wheezy是基于deb 7的版本 而现在是基于jess ...
- Select模式和超时
fd_set rset; FD_ZERO(&rset); int nready; int maxfd; int fd_stdin = fileno(stdin); if(fd_stdin &g ...
- 【Unix网络编程】chapter7套接字选项
7.1 概述 有很多方法来获取和设置影响套接字的选项: getsockopt和setsockopt函数 fcntl函数 ioctl函数 7.2 getsockopt和setsockopt函数 7.3 ...
- css实战第三天小结
1.谈一谈对层级的理解: 如果对两个并列的子元素都设置了相对于同一个父元素(如果没有设置父元素那么默认相对于浏览器而言)进行了定位(相对定位),则这两个都具有相同的层级(默认为0),他们的trbl也默 ...