在【[Day 09 - 網速換算器] 網速傻傻分不清楚 Mbps? Mb/s? 來寫個單位換算器吧 】
這篇看到 REACT 搭配 Font Awesome 的畫面後,想試試看是否能在REACT專案中也套入它的效果。
因為REACT網站不能夠像範例那樣直接使用HTML引入的手法,所以就用正規的import方式來使用。
2019/11/22
2019/11/20
認識 Delphi Community Edition (CE) 版本
2019/11/04
單機資料庫連結方式如何選擇,以SQLite為例
在描述選擇Delphi CE有什麼優缺點後,接下來就是要如何選擇資料庫的連結技術。
目前Delphi CE提供了ADO、dbExpress(DBX)和FireDAC資料庫連結技術,ADO它沒有壞掉,效能也好,在沒有跨平台需求用它就可以了。
DBX和FireDAC,這個比較難選,先來看看它們的差異:
單機版最常用的兩款資料庫:Access和SQLite在FireDAC上都有提供,但DBX只提供SQLite的連結方式。
而SQLite和MS Access相比下又有幾個優點:
以實際操作來比較DBX和FireDAC的差別。
首先利用自己做的Dbexpress.SQLite.Factory建立資料庫和資料表格:
由上面的資料顯示,若使用SQLite單機資料庫,會是以FireDAC表現會比較好。
DBX Driver官方目前已不會有大幅度的功能更新,所以SQLite控制上不會比FireDAC來得好,建議有使用SQLite需求,應採用FireDAC。
目前Delphi CE提供了ADO、dbExpress(DBX)和FireDAC資料庫連結技術,ADO它沒有壞掉,效能也好,在沒有跨平台需求用它就可以了。
DBX和FireDAC,這個比較難選,先來看看它們的差異:
單機版最常用的兩款資料庫:Access和SQLite在FireDAC上都有提供,但DBX只提供SQLite的連結方式。
而SQLite和MS Access相比下又有幾個優點:
- 小巧輕巧
- 速度快
- 跨平台
以實際操作來比較DBX和FireDAC的差別。
首先利用自己做的Dbexpress.SQLite.Factory建立資料庫和資料表格:
建立比操作輕鬆太多。(笑) |
使用DBX連結資料表:
- 從Palette容器裡拖拉一個TSQLConnection到TForm中,並且設定好SQLite的連線參數。
- 從Palette容器裡拖拉一個TSQLDataSet到TForm中,在CommandText屬性輸入『SELECT * FROM biolife』。
- 對TSQLDataSet按右鍵,選『Fields Editor』,並對跳出的編輯器按右鍵,選『Add all fields』
SQLDataSet1species_no: TWideMemoField;表格內有 real, text, blob 型別,但轉換後全是 TWideMemoField,有點奇怪,來看看FireDAC會不會有所變化。
SQLDataSet1category: TWideMemoField;
SQLDataSet1common_name: TWideMemoField;
SQLDataSet1species_name: TWideMemoField;
SQLDataSet1length_cm: TWideMemoField;
SQLDataSet1length_in: TWideMemoField;
SQLDataSet1notes: TWideMemoField;
SQLDataSet1graphic: TWideMemoField;
使用FireDAC連結資料表:
- 從Palette容器裡拖拉一個TFDPhysSQLiteDriverLink到TForm中。
- 從Palette容器裡拖拉一個TFDConnection到TForm中,並且設定好SQLite的連線參數。
- 從Palette容器裡拖拉一個TFDQuery到TForm中,在SQL屬性輸入『SELECT * FROM biolife』。
- 對TFDQuery按右鍵,選『Fields Editor』,並對跳出的編輯器按右鍵,選『Add all fields』
FDQuery1species_no: TFloatField;FireDAC可以正確的取得SQLite資料表各欄位格式。
FDQuery1category: TWideMemoField;
FDQuery1common_name: TWideMemoField;
FDQuery1species_name: TWideMemoField;
FDQuery1length_cm: TFloatField;
FDQuery1length_in: TFloatField;
FDQuery1notes: TWideMemoField;
FDQuery1graphic: TBlobField;
結論
由上面的資料顯示,若使用SQLite單機資料庫,會是以FireDAC表現會比較好。
DBX Driver官方目前已不會有大幅度的功能更新,所以SQLite控制上不會比FireDAC來得好,建議有使用SQLite需求,應採用FireDAC。
訂閱:
文章 (Atom)