架构
数据库:FireBird;
客户端:ClientDataSet;
中间层(服务器端):FireDAC 的 FdQuery;
使用 ClientDataSet 就是使用了 Delphi 的 MIDAS 框架。在架构上,服务器端和客户端是分布在不同的电脑上,通过网络的方式进行交互。我比较喜欢采用 Delphi 自己的 WebService 的架构,服务器端是一个 WebService 服务器,客户端采用 HTTPRIO 或者 SoapConnection 连接服务器端。
使用这个框架的好处是,客户端和服务器端,在运行期,是可以不连接的。仅仅是从服务器读取数据或者向服务器端提交数据时,才需要连接。
因此,这种架构,非常适合一个硬件资源不大的服务器端,可以同时直接巨多的客户端。因为客户端并没有和服务器端保持一个长期连接。大部分时间,用户在客户端操作数据时,客户端和服务器端之间并没有交互,也就没有连接。
但是,因为没有连接,则客户端在使用数据库的自增字段时,就需要一点小技巧,但是并不需要写很多代码。
本文是针对标题描述的问题的一个测试代码进行撰写,这个测试代码是把作为服务器端的 FdQuery1 和 DataSetProvider1 放到 Form4 上面,同时,作为客户端的 ClientDataSet1 也放到 Form4 上面。在实际的应用程序中,ClientDataSet1 在另外一个单独的客户端程序里面。
描述
首先, ClientDataSet 的字段里面,有一个 AutoGenerateValue 属性,设置为 arAutoInc 是没有任何作用的,不需要去在这个属性上面浪费时间。
前提:
在 FireBird 里面设计一个表,其中一个字段,设置为自增字段。对于 FireBird 数据库来说,它会产生一个 Generator (生成器)用来自动计算自增的那个整数,然后产生一个 Trigger (触发器)来在有新数据插入时,把 Generator 产生的数字写入自增字段。
操作:
以下描述都是设计期,无需写代码:<

最低0.47元/天 解锁文章
427

被折叠的 条评论
为什么被折叠?



