国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Delphi > 正文

Delphi數據庫編程教程(三)

2019-11-18 18:38:55
字體:
來源:轉載
供稿:網友
 

第三節 ADO(ActiveX Data Objects)編程模型

      如文章“Delphi中引入ADO”所敘述的,ADO是一套COM(Component Object Model組件對象模型)組件(DLLs),它允許你像訪問電子郵件和文件系統一樣訪問數據庫。使用ADO編寫的應用程序不需要BDE。為了用ADO訪問各種數據庫,你需要有ADO/OLE DB(Object Linking and Embedding對象鏈接和嵌入)庫。使用ADO所需要的可能在你的計算機中已存在:這些文件被微軟作為Windows98/2000的一部分分發。如果你使用的是Windows95或NT,你可能需要分發或安裝ADO引擎。Delphi 5的CD中包含有MDAC-Microsoft Data access Components(微軟數據訪問組件)的安裝文件。你應該確定使用的是MDAC的最新版本,它可以從微軟的官方網站獲得。MDAC是使Universal Data Access(通用數據訪問)起作用的關鍵技術。它們包括ActiveX Data Objects(ADO)、OLE DB和Open Database Connectivity(ODBC)。

      注:為了在Windows95的計算機上正確安裝,MDAC需要DCOM95(Distributed Component Object Model分布式組件對象模型)已被安裝。為了正確的注冊,MDAC所安裝的組件依賴于DCOM95所安裝的DLLs。注意,DCOM95在NT4.0中是不需要的。在某些情況下,DCOM不需要安裝在運行Windows的計算機中。但如果沒有被安裝,安裝MDAC前應安裝DCOM98。

       沒有必要過多的討論OLE DB和ADO,讓我們轉移到更實際的問題上。

      ADO 對象ADO Objects

      ADO編程模型圍繞著幾個ADO對象而建立,這些對象為訪問各種數據員提供多種方法。這些對象提供連接數據源、查詢和更新記錄集、報告錯誤的功能。Delphi通過幾個VCL組件通過訪問這些對象的封裝組件。讓我們看一下與ADO工作的對象是那些:

      Connection (連接)對象,通過連接字符串與數據源連接。在BDE/Delphi中,連接對象是數據庫組件和會話(session)組件的結合。

      Command (命令)對象,使我們能操作數據源。它描繪一個命令(也視為查詢或敘述),能處理對數據庫數據的增加、刪除、查詢或更新。

      Recordset (記錄集)對象,是查詢(Query)命令的結果。你可以認為Recordset 是一個Delphi表(Table)組件或查詢(Query)組件。Recordset 返回的每一行都包含多個字段(Field)對象。

      其他幾個在ADO模型中存在的對象有:字段(Field)對象、參數(Parameter)對象和錯誤(Error)對象—在接下來的章節中將會回過來談到它們。

 

第四節  用ADOExPRess連接數據庫

      在對ADOExpress集合的每個組件進行簡要的解釋之前,讓我們首先了解一下怎樣連接到Access數據庫。當然,當然我們將連接到我們的樣例數據庫—AboutDelphi.mdb(譯者加:在上一章中所建立的數據庫)。

      Delphi(5)主要通過組件面板ADO頁上的ADOExpress組件實現對ADO的支持。幾個其他的數據庫使能組件在本課程中將被使用。目前,我們將主要關注用ADO訪問Access數據庫所需的最小的組件集。

      運行Delphi,建立一個新的帶有空的表單的應用程序。

      為了能通過ADO和Delphi訪問Access數據庫的數據,你必須在你的工程中至少增加三個數據可視(data aware)組件。首先是數據控制(DataControls)組件頁的DBGrid—用于瀏覽從一個表格或通過查詢獲得的記錄。其次是DataSource(DataAccess數據訪問頁),用于連接數據集和表單上的DBGrid組件,從而實現潛在數據集數據的現實、導航(navigation)和編輯。最后是ADOTable(ADO頁),它描繪從ADO數據庫獲得的一個表。把它們都拖放在表單(Form)上,組件名都取默認值。這時表單應如圖所示:

                                     

      如果你現在運行程序,Grid中沒有數據顯示—當然,因為我們沒有真正地連到數據庫上。注意另一點:僅僅Grid使可見的,其他兩個組件是不可視控件(controls-unvisible)。

      組件間的連接(Link between components)

       為了顯示數據庫中的數據,我們必須把三個組件連在一起。在對象監視器(Object Inspector)中進行如下設置:    

       DBGrid1.DataSource = DataSource1;
       DataSource1.DataSet = ADOTable1 ;

       現在我們到了比較難的部分了,為了真正從數據庫中獲得數據,我們必須建立一個連接字符串(ConnectionString)。這個字符串指出了數據庫的物理存儲位置和訪問方式。當你雙擊AdoTable組件的ConnectionString(連接字符串)屬性的省略號按鈕,你將得到如下的對話框:

Connection String
      建立一個連接字符串時,我們有兩種選擇:使用Data Link File(數據連接文件)(.UDL)或手工建立一個連接字符串。現在我們手工建立它,點擊Build按鈕—彈出Data Link Properties(數據連接屬性)對話框。這個對話框有4頁。Provider(提供者)頁允許你指定提供者—這里選擇Microsoft Jet 4.0 OLE DB Provider。點擊Next(下一個)按鈕將引導我們進入第二頁:Connection(連接)。選擇省略號按鈕瀏覽找到我們的數據庫(AboutDelphi.mdb)。可以點擊Test Connection(測試連接)按鈕檢驗是否可以成功連接—應該是成功的。其它頁暫時不進行設置。最后,點擊OK關閉Data Link Properties對話框,再點擊OK關閉ConnectionString對話框—連接字符串被存儲在ADOTable組件的ConnectionString屬性中。連接字符串已如下所示:
      Provider=Microsoft.Jet.OLEDB.4.0;
      Data Source=C:/!gajba/About/aboutdelphi.mdb;
      Persist Security Info=False
      為了完成設計,我們必須設置通過ADOTable組件訪問的表名稱—再一次使用Object Inspector。
      ADOTable1.TableName = applications
      如果你想在設計時看見數據庫的數據,可使用ADOTable的Active(激活)屬性—設置它為True。
      哈!如果你已進行以上的所有步驟,現在你見看到Applications表僅有一個記錄(行)。當你運行應用程序時,你甚至能改變數據庫的數據。當然,你不能做更多的是—這是我所能想到的最簡單的ADO的例子。
      現在可以結束這一部分了。下一章中,我們將討論Delphi提供所有的ADO組件以及它們怎樣與余下的數據可視化(data-aware)組件進行通訊,從而創建一個功能更強大的Delphi數據庫應用程序。
 
2002年12月22日 20:14

上一篇:Delphi數據庫編程教程

下一篇:如何為Delphi程序添加事件和事件處理器

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
學習交流
熱門圖片

新聞熱點

疑難解答

圖片精選

網友關注

主站蜘蛛池模板: 华蓥市| 高雄市| 逊克县| 南康市| 开化县| 阆中市| 东莞市| 伽师县| 茂名市| 平远县| 温泉县| 五常市| 光泽县| 临泉县| 桓台县| 余江县| 同仁县| 衡南县| 鞍山市| 太保市| 蒙山县| 蒙城县| 建宁县| 宝兴县| 肥东县| 大渡口区| 阜阳市| 抚松县| 乌审旗| 苍南县| 分宜县| 镇宁| 罗山县| 宜兴市| 太湖县| 睢宁县| 阿拉善右旗| 渑池县| 称多县| 宣化县| 吉安市|