第二節瀏覽和導航
建立存取資料庫資料的表單有兩種不同的方法。第一種方法是使用Database Form Expert(資料庫表單專家)。但不幸的是,資料庫表單專家僅只可以處理資料集元件中的BDE-aware(視覺化BDE)子集。第二種方法是手動放置和連接所有的資料組件。
定義使用者介面(Defining the User Interface)
我們將分三步驟建立自己的資料瀏覽表單。第一步,為表單定義使用者介面;第二步,增加和配置資料存取元件;第三步也是最後一步,增加資料視覺化控制項。
在你開始之前,關閉所有打開的工程。接著進行下面的步驟:
DBNavigator1.DataSource = DataSource1
DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ADOTable1
ADOTable1.Connection = ADOConnection1
ADOConnection1.ConnectionString = ...
ADOConnection1.LoginPRompt = False
ADOTable1.Table = 'Applications'
注意:如在第二章中討論的一樣,ConnectionString屬性指出資料儲存的實體位置和我們的存取方式。你可以使用與第二章相同的連接字串,或是透過呼叫連接字串編輯器自己建立一個。
設定ADOConnection元件的LoginPrompt屬性為False,阻止資料庫登入介面出現。既然我們沒有為資料庫設定任何密碼,我們也不需要登入提示。
字段(Fields)
當我們想要為使用者提供整個記錄集(表中的資料)的時候,可以使用DBGrid元件。即使我們可以使用DBGrid讓我們的使用者在表中新增、編輯和刪除記錄—但最好的方法是為表中的每個欄位使用Field(欄位)物件。字段物件多用於應用程式中資料顯示和編輯的控制。透過使用Fields Editor(欄位編輯器),我們可以為表格中的每一列設定固定的欄位物件清單。欄位編輯器可透過雙擊DataSet元件呼叫。為了增加資料集的固定字段列表字段,可以右鍵單擊列表並選擇Add Fields(增加字段)。
除了為使用者顯示表格中的所有資料(在DBGrid中)外,我們還需要使用field-oriented(面向欄位)的資料視覺化元件如:編輯框。例如,DBEdit元件是TEdit類別的資料視覺化版本。它是任何資料輸入程式的積木。
在表單中放置DBEdit並把它與表格的欄位連結起來的最簡單的方法如下:
當你在標籤單上放下Name欄位時,Delphi會在上面放置一個Label和一個DBEdit元件。 Label組件的Caption(標題)與被拖曳欄位的DisplayLabel(顯示標籤)屬性一樣。 DBEdit元件透過它的DataSource屬性與資料集的資料來源相連。如果你從欄位編輯器中選擇多個欄位並將它放在表單上,Delphi將在表單上放置同樣多的Label/DBEdit元件。
「它活了!」(It's alive)
OK,我們現在所需要做的是啟動連線並捲動記錄。一個資料集(ADOTable)元件的Active(啟動)屬性指出我們是否與一個表相連。設定Active為True或呼叫Open方法將使ADOConnection元件的CONonnected屬性為True—並在相關的資料視覺化控制項中顯示資料。
首先、接著、最後......(First, Move by, Last,...)
現在我們作最後的準備。接下來我們來了解如何瀏覽記錄集。
DBNavigator元件為瀏覽記錄集提供了一個友善而簡單的工具。除了它的瀏覽能力外,DBNavigator還提供了方法操作數據,例如:插入、刪除或取消變更。例如,如果我們點擊Delete(刪除)按鈕,對應的記錄將會從記錄集中刪除。每個按鈕都是可選的,你可以隨意的組合和匹配它們。
透過按鈕設置,我們可以跳到最後一個記錄或移到上一個記錄。例如,點擊Last(最後)按鈕設定目前記錄為記錄集的最後一筆記錄並使Last(最後)和Next(下一個)按鈕失效。點擊Last按鈕與呼叫資料集的Last方法具有相同的功效。
需要注意的是,DBNavigator不能處理的瀏覽操作之一是按一定的數量間隔對記錄進行向前或向後的移動。資料集的MoveBy方法被用來定位相對於記錄集目前記錄的任一記錄的位置。
這就是本章。現在我們將準備學習資料集的編輯和查詢,這將在本教程的接下來的章節中進行說明...
2002年12月26日20:49