熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Delphi編程 >> 正文

DELPHI基礎教程:數據訪問部件的應用及編程(三)[3]

2013-11-23 17:49:39  來源: Delphi編程 

  TBytesField

  TVarBytesField 字符串 不允許 不允許 不允許 不允許

  TBlobField

  ────────────────────────────────────

  TMemoField 二進制 不允許 不允許 不允許 不允許

  TGraphilField 字段

  ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  上述這些轉換函數可以在任何與字段部件有關的表達式中使用只要是表中允許進行轉換的數據類型這些轉換函數其實是當做字段部件的屬性來使用的它們可以出現在賦值語句的兩邊例如下面的程序代碼是將字段部件TableMyField的字段值轉變成字符串類型的數據並將它賦給編輯框Edit的Text屬性

  EditText := TableMyFieldAsString;

  而下面的代碼是進行相反的操作它將編輯框部件Edit的Text屬性值以字符串的形式賦給字段TableMyFieldTableMyField通過AsString接受字符串並將其轉變成自身的數據類型

  TableMyFieldAsString :=EditText;

   字段部件的訪問

  字段部件對應著數據庫表中實際的字段用戶要讀寫數據庫表中的字段值其實是通過訪問相應的字段部件進行的在前面的章節中我們介紹過在Delphi的數據庫應用程序中有兩類字段部件一類是利用字段編輯器創建的永久性字段部件另一類是隨著數據集部件被激活(被打開)而動態生成的字段部件對於永久性字段部件的訪問可以直接調用使用字段部件的名字進行假設我們在設計階段利用字段編輯器創建了對應於CustomerDB表中Company字段的字段部件TableCompany下面的代碼訪問Company字段的字段值並將該字段值顯示在編輯框部件Edit

  EditText := TableCompanyValue;

  因為company字段是字符串類型的數據它與Edit中的數據類型相匹配的因此可以直接使用字段部件的Value屬性讀取字段值如果兩個變量的類型不匹配則要使用表中的轉換函數進行字段值的讀取例如要讀取CustomerDB表中的CustNo字段的值並將它顯示在編輯模框Edit假設我們已用字段編輯器(Fields Editor)創建了CustNo相應的字段部件TableCustNo則程序代碼如下

  EditText := TableCustNoAsString;

  訪問動態生成的字段部件相對要困難一些因為動態生成的字段部件是沒有自己的名字的我們必須利用特殊的手段獲得數據庫表中各字段對應的字段部件然後對字段進行訪問一般采用的方法有兩種

  ● 使用數據集部件的Fields屬性

  ● 使用數據集部件的FieldByName方法

   使用數據集部件的Fields屬性訪問數據庫表中各字段

  數據集部件的Fields屬性是與數據集部件相連的數據庫表中各個字段對應的動態字段部件的名字列表因此我們可以通過Fields屬性的下標(即索引號)來訪問各字段部件從而達到訪問數據庫表中的各個字段索引號從開始也就是說數據庫表中第一個字段對應著Fields列表的第一行即索引第二個字段對應的Fields的索引號為以此類推下面的例子是訪問CustomerDB表中的第一個字段並在編輯框Edit中顯示其字段值假設Table與數據庫表CustomerDB相連

  EditText := TableFields[]AsString;

  下面的代碼是將編輯框Edit中的字符值賦給CustomerDB表中當前記錄的第一個字段以實現修改CustomerDB表中的字段值

  TableFields[]AsString := EditText;

  使用數據集部件的FieldByName方法訪問字段部件

  在數據集部件所擁有的方法中有一個FieldByName方法它是專門用於訪問數據集部件中動態生成的字段部件的調用FieldByName方法時必須要把數據庫表中的字段名作為參數傳給FieldByName調用該方法後便可以得到該字段所對應的字段部件這樣通過字段部件我們便可以讀寫表中相應的字段值了用這種方法訪問字段部件時必須要知道數據庫表中各個字段的名字否則是沒有辦法調用該方法的還是基於上面的假設下面是訪問CustomerDB表中的CustNo字段的程序代碼

  EditText := TableFieldByName(CustNoAsString;

  TableFieldByName(CustNoAsString := EditText;

  在使用這兩種方法訪問動態生成的字段部件時可以使用表中的轉換函數在變量和字段值之間進行數據類型的轉換

   字段編輯器的使用

  字段編輯器(Fields Editor)主要是用於創建永久性的字段部件在前面的內容中我們知道當TTable或TQuery部件與數據庫表相連接時且TTable或TQuery部件被激活時(Active屬性被設置成True或調用Open方法)Delphi便動態地為表中各字段創建相應的字段部件字段部件中包含著相應字段的很多信息如字段值字段值的顯示編輯格式等有時我們在應用程序中為了更加方便可靠地訪問數據庫表中各個字段需要創建永久性的字段部件這時我們必須要借助於字段編輯器來實現我們的設想字段編輯器的主要功能如下

  ● 創建永久性的字段部件

  ● 修改永久性字段的顯示屬性如顯示格式顯示寬度等

  ● 刪除永久性的字段部件

  ● 增加新的永久性的字段部件

  ● 定義計算字段(不對應數據庫表中實際的字段字段值根據表中其他字段的值計算得出)

   打開字段編輯器

  為TTable和TQuery部件打開字段編輯有兩種方法

  ● 用鼠標左鍵雙擊TTable或TQuery部件

  ● 選擇TTable部件或TQuery部件然後單擊鼠標右鍵然後從彈出式菜單中選擇 Fields Editor

  字段編輯器Fields Editor被打開以後窗體的名字和數據集部件的名字會顯示在窗口的標題上

  字段編輯器Fields itor中的Fields列表框是用於顯示已經創建的永久性字段部件的名字的字段編輯器Fields Editor第一次被打開時該列表框是空的因為在此之前的字段部件都是動態生成的只要Fields列表框中有字段部件那麼與數據集部件相連的數據浏覽部件中只顯示Fields中列出的字段的字段值在Fields列表框中可以通過拖放字段部件的名字來改變相應的字段值在數據浏覽部件中的顯示順序如在TDBGrid部件中根據各字段在Fields列表框中的順序顯示各字段的值

  在字段編輯器Fields Editor窗體上面的導航按鈕是用來移動TTable或TQuery部件中的記錄指針的使用導航按鈕可以將記錄指針向前向後移動也可以移到第一條記錄處或最後一條記錄處

  字段編輯器中的彈出式菜單

[]  []  []  []  


From:http://tw.wingwit.com/Article/program/Delphi/201311/25155.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.