第5章 FireDAC 更多的功

5-1批处理

  • 在传统的数据存取中如果我们需要执行2个SQL命令,例如下面的SQL
SELECT * FROM TBLTAIPEIHOTELS:  
SELECT * EROM  CUSTOMERS:  

在BDE/dbExpress 中我们需要使用2个Query组件并执行2次以取得  tbITaipeiHotels和CUSTOMERS这2个数据表的资料。

  • 不过在FireDAC中我们可以  利用所谓的BatchSQL功能一次就执行这2个SQL命令

FireDAC的BatchSQL功能可以让程序员使用一个TFDQuery组件一次执行多个SQL命令,

这样做有几个好处,

一是可以减少网络的来回次数,

二是可以利用数据库的Batch执行功能以增加执行SQL的效率,

三是可以减少客户端的资源。

  • OpenBatchSQL

OpenBatchsQL方法先把执行 BatchSQL 的 TFDQuery 组件的 FetchOptions.AutoClose 特性值设定为False,否则TFDQuery在内定上接到回传的

第1个数据集对象之后就会會弃其他回传的数据集对象。

把2个SQL命令指定给TFDQuery的SQL特值,执行2个SQL命令,最后呼叫 FetchALL 方法一次把2个数据表中的数据都存取回客户端:

  • CopyToMemoryTable 方法

CopyToMemoryTable 方法先把第1个回传的数据集对象中的数据指定给 fdmtCustomers 这个TFDMemTable 组件,

呼叫TFDQuery组件的NextRecordSet 方法取得下一个回传的数据集对象之后再指定给 fdmtTaipeiHotels个 TFDMemTable

 

  • 5-2控制数据的显示和更新

         FDQuery 组件的 Query Editor 的 Options 中各种设置 ...

  1. DataMapping Rules
  2. Default Field Formats
  3. Fetch Options 和 Posting Changes
    1.  Rowset size
    2. Fetch Mode  

Posting Changes   (第166页)

    •     当FireDAC 拇把数据更新回后端时,如何找到后端要更新的数据再予以更新就是由Options页次中的PostingChanges选项来控制。

 

  • 5-3 数据转换          (172页)

  • 5-4 处理自动增加值字段(Auto-IncrementField)    (180页)

如何在 主/从 资料中处理自动增加值字段。(183页)

  • 5-5 使用计算字段          (187页)
    • 除了代表真正数据表字段的TField类别外,FireDAC 也支持计算字段(Calculated  Field)和聚集字段(Aggregated Field)
    • 计算字段是所谓的虚拟字段,计算字段并不存在  于实际的数据表中,而是在应用程序执行时暂时存在的字段。
    • 计算字段一般是因为应用程  序在执行时需要暂时储存一些必要的计算数值而存在的,在应用程序结束后这些计算数值并不需要储存在数据库中。

 

posted @ 2022-09-16 09:44  麦麦提敏  阅读(265)  评论(0编辑  收藏  举报