a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > Delphi > 正文

Delphi數(shù)據(jù)庫編程教程(八)

2019-11-18 18:38:40
字體:
供稿:網(wǎng)友

第二節(jié)瀏覽和導(dǎo)航

      創(chuàng)建訪問數(shù)據(jù)庫數(shù)據(jù)的表單有兩種不同的方法。第一種方法是使用Database Form Expert(數(shù)據(jù)庫表單專家)。但不幸的是,數(shù)據(jù)庫表單專家僅僅只可以處理數(shù)據(jù)集組件中的BDE-aware(可視化BDE)子集。第二種方法是手工放置和連接所有的數(shù)據(jù)組件。

         定義用戶界面(Defining the User Interface

      我們將分三步建立自己的數(shù)據(jù)瀏覽表單。第一步,為表單定義用戶界面;第二步,增加和配置數(shù)據(jù)訪問組件;第三步也是最后一步,增加數(shù)據(jù)可視化控件。

    在你開始前,關(guān)閉所有打開的工程。接著進行下面的步驟:

  • 選擇File | New application。這將創(chuàng)建一個新的工程,包括一個空的表單、一個單元和一個工程文件;
  • 在表單上增加一個PageControl組件。該組件位于組件面板的Win32頁。讓它的名稱為默認(rèn)名:PageControl。
  • 在PageControl上增加TabSheets(在PageControl上右擊并選擇"New Page")。設(shè)置第一個TablSheet1的標(biāo)題為“Browse(瀏覽)”,第二個為“Edit(編輯)”。
  • 在表單上放置一個DataSource(Dataaccess頁)、一個ADOTable和一個ADOConnection(ADO頁)組件。名稱全為其默認(rèn)名。
  • 選擇PageControl組件的第一頁并在Browse(瀏覽)標(biāo)簽單上放置一個DBGrid(Data Controls頁)組件。
  • 放置一個DBNavigator組件(Data Controls頁)。導(dǎo)航器按鈕用于移動表中的記錄。
  • 通過使用對象檢視器設(shè)置組件間的連接,如下:

          DBNavigator1.DataSource = DataSource1
          DBGrid1.DataSource = DataSource1
          DataSource1.DataSet = ADOTable1
          ADOTable1.Connection = ADOConnection1
          ADOConnection1.ConnectionString = ...
          ADOConnection1.LoginPRompt = False
          ADOTable1.Table = 'Applications'

      注:如在第二章中討論的一樣,ConnectionString屬性指出數(shù)據(jù)存儲的物理位置和我們的訪問方式。你可以使用與第二章同樣的連接字符串,或者通過調(diào)用連接字符串編輯器自己建立一個。

      設(shè)置ADOConnection組件的LoginPrompt屬性為False,阻止數(shù)據(jù)庫登錄界面出現(xiàn)。既然我們沒有為數(shù)據(jù)庫設(shè)置任何密碼,我們也不需要登錄提示。

Data Browsing at design time with DBGird

      字段(Fields

      當(dāng)我們想為用戶提供整個記錄集(表中的數(shù)據(jù))的時候,可以使用DBGrid組件。即使我們可以使用DBGrid讓我們的用戶在表中添加、編輯和刪除記錄—但最好的方法是為表中的每個字段使用Field(字段)對象。字段對象多用于應(yīng)用程序中數(shù)據(jù)顯示和編輯的控制。通過使用Fields Editor(字段編輯器),我們可以為表中的每一列設(shè)置固定的字段對象列表。字段編輯器可通過雙擊DataSet組件調(diào)用。為了給數(shù)據(jù)集的固定字段列表增加字段,可以右擊列表并選擇Add Fields(增加字段)。

      除了為用戶顯示表中的所有數(shù)據(jù)(在DBGrid中)外,我們還需要使用field-oriented(面向字段)的數(shù)據(jù)可視化組件如:編輯框。例如,DBEdit組件是TEdit類的數(shù)據(jù)可視化版本。它是任何數(shù)據(jù)輸入程序的積木。

      在表單中放置DBEdit并把它與表的字段相連的最簡單的方法如下:

  1. 通過雙擊ADOTable組件調(diào)用Fields editor(字段編輯器);
  2. 選擇Name字段,如例。讓Page Control的第二個標(biāo)簽成為被選項;
  3. 在表單上拖動Name字段。

Dragging field objects

      當(dāng)你在標(biāo)簽單上放下Name字段時,Delphi會在上面放置一個Label和一個DBEdit組件。Label組件的Caption(標(biāo)題)與被拖動字段的DisplayLabel(顯示標(biāo)簽)屬性一樣。DBEdit組件通過它的DataSource屬性與數(shù)據(jù)集的數(shù)據(jù)源相連。如果你從字段編輯器中選擇多個字段并把它放置在表單上,Delphi將在表單上放置同樣多的Label/DBEdit組件。

Data browsing at design time with field oriented components

      “它活了!”(It's alive

      OK,我們現(xiàn)在所需要做的是激活連接并滾動記錄。一個數(shù)據(jù)集(ADOTable)組件的Active(激活)屬性指出我們是否與一個表相連。設(shè)置Active為True或調(diào)用Open方法將使ADOConnection組件的CONonnected屬性為True—并在相關(guān)的數(shù)據(jù)可視化控件中顯示數(shù)據(jù)。

      首先、接著、最后......(First, Move by, Last,...

      現(xiàn)在我們作最后的準(zhǔn)備。接下來我們了解一下怎樣瀏覽記錄集。

      DBNavigator組件為瀏覽記錄集提供了一個友好而簡單的工具。除了它的瀏覽能力外,DBNavigator還提供了方法操作數(shù)據(jù),如:插入、刪除或取消改變。例如,如果我們點擊Delete(刪除)按鈕,相應(yīng)的記錄將會從記錄集中刪除。每個按鈕都是可選的,你可以隨意的組合和匹配它們。

      通過按鈕設(shè)置,我們可以跳到最后一個記錄或移到上一個記錄。例如,點擊Last(最后)按鈕設(shè)置當(dāng)前記錄為記錄集的最后一條記錄并使Last(最后)和Next(下一個)按鈕失效。點擊Last按鈕與調(diào)用數(shù)據(jù)集的Last方法具有相同的功效。

      需要注意的是,DBNavigator不能處理的瀏覽操作之一是按一定的數(shù)量間隔對記錄進行向前或向后的移動。數(shù)據(jù)集的MoveBy方法被用于定位相對于記錄集當(dāng)前記錄的任一記錄的位置。

       這就是本章。現(xiàn)在我們將準(zhǔn)備學(xué)習(xí)數(shù)據(jù)集的編輯和查詢,這將在本教程的接下來的章節(jié)中進行說明......

 

2002年12月26日 20:49


上一篇:Delphi數(shù)據(jù)庫編程教程(五)

下一篇:Delphi數(shù)據(jù)庫編程教程(四)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網(wǎng)友關(guān)注

主站蜘蛛池模板: 久久久99精品免费观看 | 久久精品91久久久久久再现 | 欧美二三区 | 激情综合久久 | 国产精品夜夜爽 | 久久国产综合 | 亚洲黄色区 | 久久久久亚洲精品国产 | 国产精品毛片一区二区三区 | 国产亚洲欧美在线 | 精品视频网| 日韩精品一区二区三区免费观看视频 | 久久草在线视频 | 黑人xxx视频 | 国产精品视频一二三区 | 亚洲精品一二三四五区 | 日本精a在线观看 | 在线免费国产 | 精品一区视频 | 成年人在线观看 | 日韩激情免费 | 精品国产一区一区二区三亚瑟 | 亚洲精品视频免费 | 91精品国产日韩91久久久久久 | 日韩精品亚洲一区 | 夜夜操天天干 | 日韩一区二区三区在线看 | 国产一区二区精品久久 | 婷婷色网 | 免费看国产一级特黄aaaa大片 | 久久久久久久久久久久久九 | 亚洲精品久久久久久一区二区 | 日韩在线不卡 | 6080yy精品一区二区三区 | 精品国产乱码久久久久久久软件 | 精品日韩 | 日本精品在线播放 | 欧美日韩在线免费观看 | 日韩视频一区 | 亚洲成a人| 看免费av |