第二節瀏覽和導航
創建訪問數據庫數據的表單有兩種不同的方法。第一種方法是使用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方法被用于定位相對于記錄集當前記錄的任一記錄的位置。
這就是本章?,F在我們將準備學習數據集的編輯和查詢,這將在本教程的接下來的章節中進行說明......
2002年12月26日 20:49
新聞熱點
疑難解答
圖片精選