愛招飛幫助手冊 愛招飛幫助手冊
  • 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幫助主頁
  • 學習手冊

  • 開發手冊

    • 通訊協議

    • 互動輸出

    • 媒體存取

      • 文件媒體

      • 數據存取

        • TARS數據存取
          • 1. 說明
          • 2. 設計明細
          • 3. 程式設計
            • 3.1. 程式初始設定
            • 3.2. 事件設定
          • 4. 運行結果
      • 遠端監控

    • 人工智慧

    • 實體運用

目录

TARS數據存取

# Smart之TARS數據存取

# 1. 說明

  範例通過連線TARS實現對資料庫的增刪改查操作。Smart上可以實現對資料庫的簡單查詢,通過該方法可以實現採集數據的記錄。

  通過範例學習,可以掌握Smart通過連線TARS實現對資料庫的增刪改查操作的方式。

  在使用範例之前,檢查Smart資料庫是否連線,其中包含一個Table_Test表,建立語句示例如下:

--建立數據表 Table_Test
Create Table Table_Test(
FCode nvarchar(50) not null,
FName nvarchar(100)
)
GO
--建立表主索引 PK_Table_Test
CREATE UNIQUE NONCLUSTERED INDEX [PK_Table_Test] ON [dbo].[Table_Test] 
([FCode] ASC)
WITH (PAD_INDEX  = OFF, 
STATISTICS_NORECOMPUTE  = OFF, 
SORT_IN_TEMPDB = OFF, 
IGNORE_DUP_KEY = OFF, 
DROP_EXISTING = OFF, 
ONLINE = OFF, 
ALLOW_ROW_LOCKS  = ON, 
ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
GO

--插入測試用的數據
INSERT INTO Table_Test(FCode,FName)
VALUES('0101','小明')
 
INSERT INTO Table_Test(FCode,FName)
VALUES('0102','小王')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

  通過Smart智慧控制平臺功能表【工具】->【帳套設定】,設定好要連線的TARS中介軟體之資料庫,在使用過程中須保證TARS處於運行狀態並開放服務,TARS帳套配置請參閱TARS使用手冊。

# 2. 設計明細

  開啟Smart智慧控制平臺,分別加入下插圖之控制元件。或者通過點選功能表欄[檔案]-[打開專案]選擇範例專案檔案來打開該範例。

TARS數據存取 UI佈局

  ①:TRFConnection元件,控制元件名稱為RFConnection1。

  ②:TLabel元件,控制元件名稱為Label2。

  ③:TRFDataSet元件,控制元件名稱為RFDataSet1。

  ④:TEdit元件,控制元件名稱為EditCode。

  ⑤:TLabel元件,控制元件名稱為Label1。

  ⑥:TBitBtn元件,控制元件名稱為BitBtnNew。

  ⑦:TBitBtn元件,控制元件名稱為BitBtnDelete。

  ⑧:TDataSource元件,控制元件名稱為DataSource1。

  ⑨:TbitBtn元件,控制元件名稱為BitBtnSave。

  ⑩:TLabel元件,控制元件名稱為Label3。

  (11):TLabel元件,控制元件名稱為Label4。

  (12):TEdit元件,控制元件名稱為EditName。

  (13):TEdit元件,控制元件名稱為EditQuery。

  (14):TPanel元件,控制元件名稱為Panel1。

  (15):TDBGrid元件,控制元件名稱為DBGrid1。

  (16):TBitBtn元件,控制元件名稱為BitBtn1。

  該範例中先使用RFConnection來輔助進行DBGrid表頭的產生,在之後的程式運行過程中使用帳套設定中的連線方式進行連線。

  • Main窗體屬性設定

    • BorderStyle:設定邊界樣式=bsDialog。
    • Caption:設定窗體顯示的標題=TARS數據存取。
    • ClientHeight:設定客戶區窗體的高度=438。
    • ClientWidth:設定窗體客戶區的寬度=465。
  • ①RFConnection1屬性設定

    • ConnectionDefName:設定連線設定名稱=test。
    • ForceEncryption:啟用加密功能,與TARS中的加密數據功能對應。
    • LoginOption:設定登錄選項,username和password需使用TARS中的使用者名稱及密碼。
    • SecureKey:設定安全碼,與TARS中的安全碼對應。
    • ServerAddr:TARS伺服器的IP地址。
    • ServerPort:TARS伺服器的埠號。
    • Active:是否啟用連線,設定為True。
  • ②RFDataSet1屬性設定

    • Connection:設定連線的配置,此處先設定為RFConnection1,用來進行連線除錯,在指令碼中可將其定義為帳套設定。
  • ③Label2屬性設定

    • Caption:設定字幕內容=編號:。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • ④EditCode屬性設定

    • Name:設定控制元件名稱=EditCode。
    • Text:設定文字內容=0113。
    • Width:設定控制元件寬度=209。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • ⑤Label1屬性設定

    • Caption:設定字幕內容=TARS數據存取。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • ⑥BitBtnNew屬性設定

    • Height:設定按鈕控制元件高度=33。
    • Width:設定按鈕控制元件寬度=44。
    • Name:設定控制元件名稱=BitBtnNew。
    • Glyph:設定顯示的點陣圖圖片。點選屬性右側的[...]或者雙擊該屬性打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑦BitBtnDelete屬性設定

    • Height:設定按鈕控制元件高度=33。
    • Width:設定按鈕控制元件寬度=44。
    • Name:設定控制元件名稱=BitBtnDelete。
    • Glyph:設定顯示的點陣圖圖片。點選屬性右側的[...]或者雙擊該屬性打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑧DataSource1屬性設定

    • DataSet:設定數據集名稱=RFDataSet1。
  • ⑨BitBtnSave屬性設定

    • Height:設定按鈕控制元件高度=33。
    • Width:設定按鈕控制元件寬度=44。
    • Name:設定控制元件名稱=BitBtnDelete。
    • Glyph:設定顯示的點陣圖圖片。點選屬性右側的[...]或者雙擊該屬性打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。
  • ⑩Label3屬性設定

    • Caption:設定字幕內容=名稱:。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • (11)Label4屬性設定

    • Caption:設定字幕內容=查詢內容:。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • (12)EditName屬性設定

    • Name:設定控制元件名稱=EditName。
    • Text:設定文字內容=小張。
    • Width:設定控制元件寬度=209。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • (13)EditQuery屬性設定

    • Name:設定控制元件名稱=EditQuery。
    • TextHint:設定輸入框為空時顯示的文字內容=請輸入查詢的名稱。
    • Width:設定控制元件寬度=272。
    • Font:設定字型。點選該屬性右側的[...]或者雙擊該屬性打開字型設定界面。
  • (14)Panel1屬性設定

    • Color:設定面板的顏色=clBlue。
    • Height:設定控制元件高度=5。
    • Width:設定控制元件寬度=440。
  • (15)DBGrid1屬性設定

    • DataSource:設定表格顯示的數據源,此處設定為DataSource1。
    • Columns:設定表格顯示的表格列,單擊屬性值格子右側[...],打開編輯器進行欄位編輯。
  • (16)BitBtn1屬性設定

    • Height:設定按鈕控制元件高度=31。
    • Width:設定按鈕控制元件寬度=59。
    • Name:設定控制元件名稱=BitBtn1。
    • Glyph:設定顯示的點陣圖圖片。點選屬性右側的[...]或者雙擊該屬性打開檔案上傳界面,點選[Load...]從檔案瀏覽器中選擇對應的圖片檔案上傳,返回該界面下,待顯示出圖片後點擊[OK]載入圖片。

# 3. 程式設計

# 3.1. 程式初始設定

  程式啟動時,打開數據集。

constructor TMyHandler.Create(AOwner: TComponent);
begin
  FThis :=TBaseForm(AOwner);
  FThis.RFDataSet1.Connection := dm.DBConnection;
  //打開RFDataSet1數據
  FThis.RFDataSet1.SQL.Text := 'Select FCode,FName From Table_Test';
  FThis.RFDataSet1.Open;
end;
1
2
3
4
5
6
7
8

# 3.2. 事件設定

  • ⑥BitBtnNew-OnClick事件

  點選以新增記錄。

procedure TMyHandler.BitBtnNewClick;
//新增記錄
begin
   if not FThis.RFDataSet1.Active then exit;
   FThis.RFDataSet1.Append; //新增一條記錄
end;
1
2
3
4
5
6
  • ⑦BitBtnDelete-OnClick事件

  點選以刪除選擇的記錄。

procedure TMyHandler.BitBtnDeleteClick;
//刪除選中的記錄
begin
   //判斷數據集是否為空
   if FThis.RFDataSet1.IsEmpty then 
    exit;
   //刪除目前行 
   FThis.RFDataSet1.Delete;
end;
1
2
3
4
5
6
7
8
9
  • ⑨BitBtnSave-OnClick事件

  點選以儲存數據內容。

procedure TMyHandler.BitBtnSaveClick;
//儲存數據內容
begin
   //目前記錄賦值
   FThis.RFDataSet1.Edit; 
   FThis.RFDataSet1.FieldByName('FCode').AsString := FThis.EditCode.Text;
   FThis.RFDataSet1.FieldByName('FName').AsString := FThis.EditName.Text;
   FThis.RFDataSet1.Post;
   //提交數據
   if FThis.RFDataSet1.ApplyUpdates(-1) = 0 then
   begin
      Showmessage('數據儲存成功!');
   end;
end;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  • (16)BitBtn1-OnClick事件

  點選以進行數據查詢。

procedure TMyHandler.BitBtn1Click;
//查詢
var 
  vSQL: String;
begin
  //數據查詢
  vSQL := 'Select FCode,FName From Table_Test ' ;
  if FThis.EditQuery.Text <> '' then 
  vSQL := vSQL + 'where 1=1 and FName = ' + QuotedStr(FThis.EditQuery.Text);
  FThis.RFDataSet1.SQL.Text := vSQL;
  FThis.RFDataSet1.Open;
end;
1
2
3
4
5
6
7
8
9
10
11
12
  • ②RFDataSet1-AfterScroll事件

  數據集的指針移動時進行賦值操作。

procedure TMyHandler.RFDataSet1AfterScroll;
//數據集指針移動時賦值
begin
   FThis.EditCode.Text := FThis.RFDataSet1.FieldByName('FCode').AsString;
   FThis.EditName.Text := FThis.RFDataSet1.FieldByName('FName').AsString;
end;
1
2
3
4
5
6
  • ④EditCode-OnExit事件

  當代號編輯框結束編輯,點選其他控制元件時更新顯示的內容至表格中。

procedure TMyHandler.EditCodeExit;
begin
   FThis.RFDataSet1.Edit;
   FThis.RFDataSet1.FieldByName('FCode').AsString := FThis.EditCode.Text;
   FThis.RFDataSet1.Post;
end;
1
2
3
4
5
6
  • (12)EditName-OnExit事件

  當名稱編輯框結束編輯,點選其他控制元件時更新顯示的內容至表格中。

procedure TMyHandler.EditNameExit;
begin
   FThis.RFDataSet1.Edit;
   FThis.RFDataSet1.FieldByName('FName').AsString := FThis.EditName.Text;
   FThis.RFDataSet1.Post;
end;
1
2
3
4
5
6

# 4. 運行結果

  通過工具欄儲存,將程式儲存為 sdb 專案檔案。

  使用滑鼠點選工具欄運行(Run),測試運行結果。程式啟動時會打開對應的表格。點選新增按鈕,新增一行記錄並根據編號和名稱的編輯框賦值。點選刪除按鈕刪除選擇行的記錄。點選儲存按鈕,將編輯框中的數值提交至當前選擇的數據記錄位置並提交數據。在查詢內容的輸入框中輸入內容,點選查詢按鈕,下方的表格顯示條件查詢的結果。

語音播報
網路攝像頭伺服器

← 語音播報 網路攝像頭伺服器→

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