愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • Smart幫助主頁
  • 學習手冊

    • 基本入門

    • 功能介紹

    • 控制元件說明

      • 公共屬性
      • 公共方法
      • 公共事件
      • 視窗控制元件
      • 系統控制元件
      • 標準控制元件
      • 對話方塊控制元件
      • 標準工控控制元件
      • 專業工控控制元件
      • 數據控制控制元件
        • 1. TRFConnection 元件
          • 1.1. 屬性
        • 2. TRFDataSet 元件
          • 2.1. 屬性
          • 2.1.1. Connection 屬性
          • 2.1.2. SQL 屬性
          • 2.1.3. RecordCount 屬性
          • 2.2. 方法
          • 2.2.1. Open 方法
          • 2.2.2. Edit 方法
          • 2.2.3. Append 方法
          • 2.2.4. FieldByName 方法
          • 2.2.5. Next 方法
          • 2.2.6. EmptyDataSet 方法
          • 2.2.7. ApplyUpdates 方法
        • 3. TRFStoredProc 元件
          • 3.1. 屬性
          • 3.1.1. ExecProc
        • 4. TRFScript 元件
          • 4.1. 屬性
        • 5. TRFFileTransfer 元件
          • 5.1. 屬性
          • 5.2. 事件
          • 5.3. 方法
          • 5.3.1. Upload 方法
          • 5.3.2. Download 方法
          • 5.3.3. Delete 方法
          • 5.3.4. FileMD5 方法
          • 5.3.5. CreateDir 方法
          • 5.3.6. MoveFile 方法
          • 5.3.7. CopyFile 方法
          • 5.3.8. RenameFile 方法
          • 5.3.9. FileExists 方法
        • 6. TRFSMSSender 元件
          • 6.1. 屬性
          • 6.2. 方法
          • 6.2.1. Execute 方法
        • 7. TRFWechatMP 元件
          • 7.1. 屬性
          • 7.2. 方法
          • 7.2.1. SendCustomMessage
          • 7.2.2. SendTemplateMessage
        • 8. TFDConnection 元件
          • 8.1. 屬性
          • 8.1.1. Connected
          • 8.1.2. Params
        • 9. TFDQuery 元件
          • 9.1. 屬性
          • 9.2. 方法
          • 9.2.1. Close
          • 9.2.2. Open
          • 9.2.3. FieldByName
          • 9.2.4. First
          • 9.2.5. Last
        • 10. TFDMenTable 元件
          • 10.1. 屬性
          • 10.1.1. Data
          • 10.2. 方法
          • 10.2.1. FieldByName
          • 10.2.2. First
          • 10.2.3. Prior
          • 10.2.4. Next
          • 10.2.5. Last
          • 10.2.6. Edit
          • 10.2.7. Cancel
          • 10.2.8. Post
          • 10.2.9. Insert
          • 10.2.10. Append
          • 10.2.11. Delete
          • 10.2.12. Refresh
        • 11. TFDStoredProc
          • 11.1. 屬性
          • 11.2. 方法
          • 11.2.1. ExecProc
        • 12. TFDPhysMSSQLDriverLink 元件
        • 13. TFDPhysMySQLDriverLink 元件
        • 14. TFDPhysSQLiteDriverLink 元件
        • 15. TFDPhysMsAccessDriverLink 元件
        • 16. TFDPhysPgDriverLink 元件
        • 17. TDataSource 元件
          • 17.1. 屬性
      • 數據表格控制元件
      • 數據感知控制元件
      • 通訊控制控制元件
      • 儀表採集控制元件
      • 監控視訊控制元件
      • 數據圖表控制元件
      • 流程圖表控制元件
      • 數據分析控制元件
      • 複合數控控制元件
      • 模擬數控控制元件
      • 調節數控控制元件
      • 數位數控控制元件
      • 數據數控控制元件
      • 地圖控制元件
      • 其他控制元件
      • SVG控制元件
      • IsoBean控制元件
      • 樣式控制元件
      • 樣式外觀控制元件
      • 樣式高級控制元件
      • 樣式工具控制元件
      • 樣式數據控制元件
      • 樣式控制元件GP
      • 樣式數據控制元件GP
    • 功能用法

    • 專用模板

    • 開發流程

    • 函式程式

  • 開發手冊

目录

數據控制控制元件

# Smart 控制元件使用(數據控制)

  該組內包含一些用於控制數據資訊等的元件,如連線至TARS伺服器,實現數據互動,微信推送等相關的功能。

# 1. TRFConnection 元件

  該元件用於建立與TARS服務端的連線。通常用於一些窗體內的臨時連線。如果程式中多個窗體需要使用同一個連線設定,請使用Smart中的帳套設定。

# 1.1. 屬性

屬性 功能說明
Active 是否啟用該元件
ConnectionDefName 連線的帳套(TARS連線設定)名稱
ForceEncryption 是否開啟加密連線
LoginOptions 連線選項設定
MD5Salt: MD5鹽值,如在TARS中有設定則該處需與TARS中的設定相同
Password: TARS連線設定中使用的連線使用者的密碼
UserName: TARS連線設定中使用的連線的使用者名稱
ModuleFileName 連線功能使用的模組名稱
SecureKey 保證連線安全使用的安全碼,此處需與TARS中設定的安全碼一致
ServerAddr TARS伺服器的IP地址
ServerPort TARS伺服器的連線埠

# 2. TRFDataSet 元件

  該元件用於從資料庫中獲取數據形成數據集資訊。數據集元件是數據感知組中元件的數據來源,也是數據圖表等的數據來源。

# 2.1. 屬性

屬性 功能說明
Active 是否啟用該元件
Connection 指定數據集連線的來源
SQL 產生數據集的構造SQL語句

# 2.1.1. Connection 屬性

  指定數據集連線的來源。連線的來源有兩種,一種來自TRFConnection元件,另一種來自於Smart的帳套設定。

  //連線來源可以來自同一窗體中的TRFConnection元件
  FThis.RFDataSet1.Connection := FThis.RFConnection1;
  //連線來源也可以來自Smart的帳套設定
  FThis.RFDataSet1.Connection := DM.DBConnection;
1
2
3
4

# 2.1.2. SQL 屬性

  該屬性是構造數據集使用的SQL語句。

  FThis.RFDataSet1.SQL.Text := 'SELECT * FROM Basic_Unit';
1

# 2.1.3. RecordCount 屬性

  該屬性用於顯示目前數據集中包含的記錄的數目。

  FThis.Label1.Text := '數據集中包含的記錄數為:' + FThis.RFDataSet1.RecordCount.ToString;
1

# 2.2. 方法

# 2.2.1. Open 方法

  該方法用於在SQL屬性中包含SQL語句時打開數據集。

  FThis.RFDataSet1.Open;
1

# 2.2.2. Edit 方法

  使數據集對應選擇的記錄處於編輯狀態。

  FThis.RFDataSet1.Edit;
1

# 2.2.3. Append 方法

  使數據集處於新增記錄的狀態。

  FThis.RFDataSet1.Append;
1

# 2.2.4. FieldByName 方法

  獲取數據集中的欄位的方法。

  //為數據集中目前指向的記錄中的欄位賦值,需要注意數據型別要一致
  FThis.DataSetMaster.FieldByName('FBillID').AsInteger := 23020001;
  FThis.DataSetMaster.FieldByName('FCreateDate').AsDateTime := Now();
1
2
3

# 2.2.5. Next 方法

  將數據集指向下一條記錄。

  FThis.RFDataSet1.Next;
1

# 2.2.6. EmptyDataSet 方法

  清空數據集中的內容。

# 2.2.7. ApplyUpdates 方法

  將目前數據集的更改資訊儲存至資料庫中。

  FThis.RFDataSet1.ApplyUpdates(-1);
1

# 3. TRFStoredProc 元件

  該元件用於執行資料庫中的預存程序。

  該元件用於執行資料庫中的預存程序。按照要求將預存程序的名稱及參數資訊獲取輸入,可執行相應的預存程序。

# 3.1. 屬性

名稱 說明
Active 數據集是否開啟
Aggregrates 為數據集定義的客戶端彙總的集合
AggregratesActive 是否自動計算彙總值
AutoCalcFields 確定何時觸發OnCalcFields事件以及何時計算查詢欄位值
Connection 指定控制元件使用的連線控制元件
Filter 設定過濾條件
Filtered 是否開啟過濾器
Params 設定預存程序使用的參數
StoredProcName 指定在伺服器端呼叫的預存程序的名稱

# 3.1.1. ExecProc

procedure ExecProc; 
function ExecProc(const AProcName: String): LongInt; 
function ExecProc(const AProcName: String; const AParams: array of Variant): LongInt;
function ExecProc(const AProcName: String; const AParams: array of Variant;  const ATypes: array of TFieldType): LongInt;
1
2
3
4

  執行預存程序。

//1
RFStoredProc1.StoredProcName := 'myproc';
RFStoredProc1.Prepare;
RFStoredProc1.ParamByName('inval').Value := 100;
RFStoredProc1.ExecProc;
ShowMessage(RFStoredProc1.ParamByName('outval').AsString);

//2
RFStoredProc1.ExecProc('myproc');

//3
RFStoredProc1.ExecProc('myproc;2', [100, 'qweqwe']);

//4
RFStoredProc1.ExecProc('myproc', [100, 'qweqwe'], [ftInteger, ftWideString]);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 4. TRFScript 元件

  該元件用於執行指令碼,可作為配置使用,提高程式的靈活性。

# 4.1. 屬性

屬性 功能說明
Cooection 設定連線方式,可選方式有TRFConnection元件/帳套設定
Script 需要運行的指令碼

# 5. TRFFileTransfer 元件

  該元件用於與TARS伺服器進行檔案傳輸。

# 5.1. 屬性

屬性 功能說明
Connection 設定連線方式,可選方式有TRFConnection元件/帳套設定

# 5.2. 事件

事件 何時觸發
OnDeleteDone 當TARS雲端檔案刪除完成後觸發該事件
OnDownloadDone 當檔案下載完成後觸發該事件
OnDownloadProgress 當正在下載檔案時觸發該事件,可用於展示檔案下載進度
OnUploadDone 當檔案上傳完成後觸發該事件
OnUploadProgress 當檔案正在上傳時觸發該事件

# 5.3. 方法

# 5.3.1. Upload 方法

function Upload(ALocalFileName: String; ARemoteFilPath: String; 
  ARemoteFileName: String): Boolean;
1
2

  該方法可將本地檔案上傳到TARS伺服器。

  • ALocalFileName: 本地檔案(需在Smart程式目錄下)地址。
  • ARemoteFilePath: TARS伺服器上傳地址所在目錄。
  • ARemoteFileName: TARS伺服器上傳檔案的地址。

  檔案上傳示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選按鈕以上傳檔案
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.Upload('icon.ico','upload','icon.ico') then
  ShowMessage('檔案上傳成功!');
end;
1
2
3
4
5
6
7

# 5.3.2. Download 方法

function Download(ARemoteFileName: String; ALocalNewFileName: String): Boolean;
1

  從TARS伺服器指定的檔案目錄中將指定檔案下載到本地。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。
  • ALocalNewFileName: 下載到本地的檔案地址。

  檔案下載示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選按鈕以下載檔案
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.Download('upload\icon.ico','icon.ico') then
  ShowMessage('檔案下載成功!');
end;
1
2
3
4
5
6
7

# 5.3.3. Delete 方法

function Delete(ARemoteFileName: String): Boolean;
1

  刪除TARS檔案伺服器中指定的檔案。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。

  檔案刪除示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選按鈕以刪除檔案
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.Delete('upload\icon.ico') then
  ShowMessage('檔案刪除成功!');
end;
1
2
3
4
5
6
7

# 5.3.4. FileMD5 方法

function FileMD5(ARemoteFileName: String): String;
1

  返回位於TARS伺服器中的檔案的MD5校驗值。可用於檢測檔案是否被惡意修改。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。

  獲取檔案校驗值的示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選按鈕以獲取檔案校驗碼
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  FThis.Label1.Caption := FThis.RFFileTransfer1.FileMD5('upload\icon.ico');
end;
1
2
3
4
5
6

# 5.3.5. CreateDir 方法

function CreateDir(AFilePath: String): Boolean;
1

  在TARS伺服器中建立檔案目錄。

  • AFilePath: 建立的資料夾的目錄路徑,如果該目錄的上級目錄不存在則會同時新建此目錄。

  建立檔案目錄的示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選按鈕新增目錄
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.CreateDir('upload\downloads') then
  ShowMessage('新增目錄成功!');
end;
1
2
3
4
5
6
7

# 5.3.6. MoveFile 方法

function MoveFile(ARemoteFileName: String; ANewFileName: String): Boolean;
1

  將TARS伺服器中的檔案移動至新的目錄中。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。
  • ANewFileName: TARS檔案伺服器指定的移動檔案地址。

  移動檔案的示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選移動檔案
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.MoveFile('upload\icon.ico','icon.ico') then
  ShowMessage('檔案移動成功!');
end;
1
2
3
4
5
6
7

# 5.3.7. CopyFile 方法

function CopyFile(ARemoteFileName: String; ANewFileName: String): Boolean;
1

  將TARS伺服器中的檔案複製到新的目錄中。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。
  • ANewFileName: TARS檔案伺服器指定的複製檔案地址。

  移動檔案的示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選複製檔案
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.CopyFile('icon.ico','upload\icon.ico') then
  ShowMessage('檔案複製成功!');
end;
1
2
3
4
5
6
7

# 5.3.8. RenameFile 方法

function RenameFile(ARemoteFileName: String; ANewFileName: String): Boolean;
1

  將TARS伺服器中的檔案進行重新命名。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。
  • ANewFileName: TARS檔案伺服器指定的新命名的檔案地址。

  重新命名檔案的示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選重新命名檔案
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.RenameFile('upload\icon.ico','upload\icon111.ico') then
  ShowMessage('檔案重新命名成功!');
end;
1
2
3
4
5
6
7

# 5.3.9. FileExists 方法

function FileExists(ARemoteFileName: String): Boolean;
1

  檢驗TARS伺服器中指定目錄的檔案是否存在。

  • ARemoteFileName: TARS檔案伺服器指定的檔案地址。

  檢驗檔案是否存在的示例程式碼如下:

procedure TMyHandler.Button1Click;
//點選以檢驗檔案是否存在
begin
  FThis.RFFileTransfer1.Connection := DM.DBConnection;
  if FThis.RFFileTransfer1.FileExists('upload\icon.ico') then
  ShowMessage('icon.ico檔案存在於upload目錄中!');
end;
1
2
3
4
5
6
7

# 6. TRFSMSSender 元件

  該元件可用於對接簡訊平臺實現在TARS上使用簡訊發送的功能。具體使用方法可參考簡訊發送。

# 6.1. 屬性

屬性 功能說明
AccessKeyId 簡訊服務提供商的AccessKeyId
AcessKeySecret 簡訊服務提供商的AccessKeySecret
Connection 指定連線的來源
PhoneNumbers 接收簡訊的手機號碼,如有多個號碼請用;分隔
Provider 簡訊服務提供商選擇,有阿里雲和阿里大於可選
SigName 簡訊簽名顯示
TemplateCode 簡訊模板名稱
TemplateParam 簡訊模板參數

  以上參數的詳細說明請參考阿里云簡訊服務文件 (opens new window)。

# 6.2. 方法

# 6.2.1. Execute 方法

  執行簡訊發送的操作。

if FThis.RFSMSSender1.Execute then
    Showmessage('簡訊下發成功!');
1
2

# 7. TRFWechatMP 元件

  該元件可實現與微信公眾平臺對接實現微信公眾號模板訊息推送的功能。

# 7.1. 屬性

屬性 功能說明
AccountName 微信公眾號的名稱,在TARS中有相關設定
Connection 設定連線方式,可選方式有TRFConnection元件/帳套設定

# 7.2. 方法

# 7.2.1. SendCustomMessage

function SendCustomMessage(const AOpenID, AContent: string): Boolean;
1

  發送文字訊息。

  • 示例
Begin
    //呼叫方式
	FThis.RFWeChatMP1.SendCustomMessage('oxCHX6X4rjxj-TEStyhPmkNILNp9A','你好!');
End;
1
2
3
4

# 7.2.2. SendTemplateMessage

function SendTemplateMessage(const AJsonContent: string): Boolean;
1

  發送模板訊息。

部分 說明
AccountName 微信公眾號
AJsonContent Json格式化字串,格式請參考https://developers.weixin.qq.com/doc/offiaccount/Message_Management/Template_Message_Interface.html (opens new window)
  • 示例
Begin
    //呼叫方式
	FThis.RFWeChatMP1.SendTemplateMessage('JsonContent');
End;
1
2
3
4

# 8. TFDConnection 元件

  TFDConnection 元件是資料庫的連線元件,可作為數據集元件TFDQuery的連線源使用。

# 8.1. 屬性

屬性 說明
Connected 是否連線到資料庫
Params 連線參數的相關設定

# 8.1.1. Connected

property Connected: Boolean;
1

  該屬性用於確認元件是否需要發起資料庫的連線。為True時與資料庫進行連線,為False時斷開連線。

# 8.1.2. Params

property Params: TFDConnectionDefParams
1

  設定連線參數。

  點選右側的配置按鈕,打開參數配置的對話方塊,設定連線串的參數。不同資料庫的連線設定有所差異。

MSSQL

MSSQL的連線參數設定如下。

DriverID=MSSQL
Pooled=False
Database=Smart
User_Name=sa
Password=123456
Server=.
MARS=Yes
VariantFormat=String
ExtendedMetadata=False
MetaCaseIns=False
MetaCaseInsCat=Choose
1
2
3
4
5
6
7
8
9
10
11
參數名稱 示例取值 描述
DriverID MSSQL 資料庫的驅動型別,可以選擇 MSSQL
Pooled False 是否使用連線池
DataBase Smart 連線的資料庫名稱
User_Name sa 資料庫連線的使用者名稱
Password 123456 資料庫連線的密碼
Server . 連線的資料庫伺服器的名稱
MARS Yes 設定資料庫是否使用連線複用
VariantFormat String 控制 SQL_VARIANT 數據型別表示
ExtendedMetadata False 設定查詢結果集的擴充套件描述
MetaCaseIns False 設定後設資料是否區分大小寫
MetaCaseInsCat Choose 設定 SQL Server 目錄名稱區分大小寫,Choose自動監測目錄名稱區分大小寫

MySQL

MySQL 的連線參數設定如下。

DriverID=MySQL
Pooled=False
Database=isoface
User_Name=root
Password=123456
Server=192.168.0.201
Port=3306
Compress=True
UseSSL=False
ResultMode=Store
TinyIntFormat=Boolean
1
2
3
4
5
6
7
8
9
10
11
參數名稱 示例取值 描述
DriverID MSSQL 資料庫的驅動型別,可以選擇 MySQL
Pooled False 是否使用連線池
DataBase isoface MySQL資料庫的名稱
User_Name root MySQL資料庫的使用者名稱稱
Password 123456 MySQL資料庫的使用者登錄密碼
Server 192.168.0.201 MySQL資料庫的伺服器地址
Port 3306 MySQL資料庫的埠號
Compress True 是否啟用數據壓縮功能
UseSSL False 是否啟用SSL
ResultMode Store 對客戶端的結果集的獲取
TinyIntFormat Boolean 設定 TinyInt(1)數據型別表示

MsAcc

MsAcc 的連線參數設定如下。

DriverID=MSAcc
Pooled=False
Database=D:\IsoFace\LocalData.mdb
User_Name=Admin
Password=
StringFormat=Choose
1
2
3
4
5
6
參數名稱 示例取值 描述
DriverID MsAcc 資料庫的驅動型別,可以選擇 MsAcc
Pooled False 是否使用連線池
DataBase D:\IsoFace\LocalData.mdb 資料庫檔案的路徑
User_Name Admin 資料庫檔案的登錄使用者名稱稱
Password 資料庫檔案的登錄使用者的密碼,如果未設定密碼,此項留空
StringFormat Choose 定義如何表示字串值

# 9. TFDQuery 元件

  該元件為數據集元件,用於存放查詢的結果。此控制元件用於獲取具有返回數據集的SQL查詢語句。

# 9.1. 屬性

名稱 說明
Active 是否啟用數據集
CachedUpdates 是否對更新進行快取
Connection 設定連線使用的控制元件
Filter 設定過濾條件
Filtered 是否開啟過濾器
SQL 設定資料庫查詢內容的SQL
RecordCount 數據集中的記錄數量
Eof 是否處於表末尾
Bof 是否處於表開頭

# 9.2. 方法

# 9.2.1. Close

procedure Close;
1

  該方法用於關閉數據集。

FThis.FDQuery1.Close;
1

# 9.2.2. Open

procedure Open;
1

  該方法用於打開數據集。

FThis.FDQuery1.Open;
1

# 9.2.3. FieldByName

function FieldByName(AFieldName: String): TFiled
1

  設定欄位資訊。比如讀取,賦值等方式。

//PasScript
FThis.FDQuery1.FieldByName('id').AsString := '1';
1
2

# 9.2.4. First

procedure First;
1

  將數據集指針指向表的第一條記錄。

# 9.2.5. Last

procedure Last;
1

  將數據集指針指向表的最後一條記錄。

# 10. TFDMenTable 元件

  該元件實現記憶體中的數據集功能。可以實現與資料庫進行數據交換。

# 10.1. 屬性

名稱 說明
Active 數據集是否開啟
ActiveStoredUsage 儲存Active屬性的方式
Adapter 指定數據適配器
Aggregrates 為數據集定義的客戶端彙總的集合
AggregratesActive 是否自動計算彙總值
AutoCalcFields 確定何時觸發OnCalcFields事件以及何時計算查詢欄位值
CacheUpdates 指定數據集是否將對數據的更改記錄而無需立即將其應用於資料庫
Constraints 指定編輯數據時必須滿足的記錄級約束
ConstraintsEnabled 是否啟用約束檢查
Data 表示數據集中的數據,允許將數據集中的數據複製至另外一個數據集中
Filter 設定過濾條件
Filtered 是否開啟過濾器

# 10.1.1. Data

property Data: IFDDataSetReference;
1

  Data屬性表示數據集的內部記憶體數據儲存。 使用此屬性,應用程式可以將一個FireDAC數據集的當前結構和數據複製到另一個FireDAC數據集。

  該屬性值是對IFDDataSet介面的引用。 它是引用計數的,應用程式不需要顯式釋放它。 如果應用程式使用變數或欄位保留介面引用,則必須在關閉數據集之前釋放該引用。

  數據集必須處於非活動狀態才能設定此屬性值,否則會引發異常。 設定后,該數據集:

  • 具有原始數據集的結構,但不包括索引,IndexDefs,過濾器等。
  • 具有原始數據集數據的副本,包括所有行版本和狀態(插入,刪除,更新,未更改)。
  • 如果原始數據集有未應用的更改,則CachedUpdates等於True。
  • 數據集處於開啟狀態。
//PasScript
FThis.FDQuery1.SQL.Text := 'select * from orders; select * from customers';

FThis.FDQuery1.Open;
FThis.FDQuery1.FetchAll;
// assign orders records to FDMemTable1
FThis.FDMemTable1.Data := FThis.FDQuery1.Data;

FThis.FDQuery1.NextRecordSet;
FThis.FDQuery1.FetchAll;
// assign customers records to FDMemTable2
FThis.FDMemTable2.Data := FThis.FDQuery1.Data;
1
2
3
4
5
6
7
8
9
10
11
12

# 10.2. 方法

  因其為記憶體表中的數據集,其大部分方法的使用方式與TUgFDQuery相似。

# 10.2.1. FieldByName

function FieldByName(AFieldName: String): TFiled
1

  設定欄位資訊。比如讀取,賦值等方式。

//PasScript
FThis.FDQuery1.FieldByName('id').AsString := '1';
1
2

# 10.2.2. First

procedure Open;
1

  跳轉至第一條記錄。

# 10.2.3. Prior

procedure Prior;
1

  跳轉至前一條記錄。

# 10.2.4. Next

procedure Next;
1

  跳轉至后一條記錄。

# 10.2.5. Last

procedure Last;
1

  跳轉至最後一條記錄。

# 10.2.6. Edit

procedure Edit;
1

  編輯目前指向的記錄。

# 10.2.7. Cancel

procedure Cancel;
1

  取消對當前記錄的修改。

# 10.2.8. Post

procedure Post;
1

  提交數據。

# 10.2.9. Insert

procedure Insert;
1

  插入記錄。

# 10.2.10. Append

procedure Append;
1

  新增記錄。

# 10.2.11. Delete

procedure Delete;
1

  刪除記錄。

# 10.2.12. Refresh

procedure Refresh;
1

  重新整理記錄。

# 11. TFDStoredProc

  使用TFDStoredProc執行伺服器端預存程序,瀏覽結果集,並編輯結果集記錄。

# 11.1. 屬性

名稱 說明
Active 數據集是否開啟
ActiveStoredUsage 儲存Active屬性的方式
Adapter 指定數據適配器
Aggregrates 為數據集定義的客戶端彙總的集合
AggregratesActive 是否自動計算彙總值
AutoCalcFields 確定何時觸發OnCalcFields事件以及何時計算查詢欄位值
CacheUpdates 指定數據集是否將對數據的更改記錄而無需立即將其應用於資料庫
Constraints 指定編輯數據時必須滿足的記錄級約束
ConstraintsEnabled 是否啟用約束檢查
Data 表示數據集中的數據,允許將數據集中的數據複製至另外一個數據集中
Filter 設定過濾條件
Filtered 是否開啟過濾器
Params 設定預存程序使用的參數
SchemaAdapter 獲取或設定對模式適配器的引用作為「集中式快取更新」日誌
StoredProcName 指定在伺服器端呼叫的預存程序的名稱
Transaction 指定事務連線使用的控制元件

# 11.2. 方法

# 11.2.1. ExecProc

procedure ExecProc;
1

  執行預存程序。

//PasScript
//1
FThis.FDStoredProc1.StoredProcName := 'myproc';
FThis.FDStoredProc1.Prepare;
FThis.FDStoredProc1.ParamByName('inval').Value := 100;
FThis.FDStoredProc1.ExecProc;
ShowMessage(FThis.FDStoredProc1.ParamByName('outval').AsString);

//2
FThis.FDStoredProc1.ExecProc('myproc');

//3
FThis.FDStoredProc1.ExecProc('myproc;2', [100, 'qweqwe']);

//4
FThis.FDStoredProc1.ExecProc('myproc', [100, 'qweqwe'], [ftInteger, ftWideString]);
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 12. TFDPhysMSSQLDriverLink 元件

  此元件作為MSSQL的連線驅動元件,用於輔助 TFDConnection 元件連線至MSSQL元件使用。詳情請參考 TFDConnection.Params。

# 13. TFDPhysMySQLDriverLink 元件

  此元件作為MySQL的連線驅動元件,用於輔助 TFDConnection 元件連線至MySQL元件使用。詳情請參考 TFDConnection.Params。

# 14. TFDPhysSQLiteDriverLink 元件

  此元件作為SQLite的連線驅動元件,用於輔助 TFDConnection 元件連線至SQLite元件使用。詳情請參考 TFDConnection.Params。

# 15. TFDPhysMsAccessDriverLink 元件

  此元件作為Access的連線驅動元件,用於輔助 TFDConnection 元件連線至Access元件使用。詳情請參考 TFDConnection.Params。

# 16. TFDPhysPgDriverLink 元件

  此元件作為PostgreSQL的連線驅動元件,用於輔助 TFDConnection 元件連線至PostgreSQL元件使用。詳情請參考 TFDConnection.Params。

# 17. TDataSource 元件

  DataSource元件用來為數據感知組中的元件提供數據來源。

# 17.1. 屬性

屬性 功能說明
AutoEdit 設定控制元件是否進行自動編輯
DataSet 設定使用的數據集名稱
Enabled 是否啟用該元件
專業工控控制元件
數據表格控制元件

← 專業工控控制元件 數據表格控制元件→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式