亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > 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)或手工建立一個連接字符串?,F在我們手工建立它,點擊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程序添加事件和事件處理器

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

新聞熱點

疑難解答

圖片精選

網友關注

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久6免费高清热精品| 欧美国产一区二区三区| 视频一区视频二区国产精品| 午夜精品福利在线观看| 26uuu亚洲伊人春色| 51色欧美片视频在线观看| 国产精品久久综合av爱欲tv| 日韩在线资源网| 久久国产一区二区三区| 欧美一区三区三区高中清蜜桃| 日韩av免费在线看| 国产成人综合精品| 久久久999精品免费| 亚洲精品久久视频| 成人福利在线视频| 国产精品专区h在线观看| 不卡av电影院| 亚洲视频网站在线观看| 91大神福利视频在线| 亚洲一区二区三区四区视频| 国产成人精品免高潮在线观看| 亚洲激情第一页| 欧美肥臀大乳一区二区免费视频| 国产精品成久久久久三级| 中文字幕在线视频日韩| 欧美理论电影在线观看| 亚洲日本欧美中文幕| 最近免费中文字幕视频2019| 亚洲日韩第一页| 亚洲电影免费观看高清| 久久av在线看| 欧美电影免费观看网站| 亚洲自拍偷拍色图| 中文字幕日韩高清| 性欧美激情精品| 不卡伊人av在线播放| 97色在线播放视频| 黑人狂躁日本妞一区二区三区| 成人xvideos免费视频| 91欧美激情另类亚洲| 日韩高清有码在线| 欧美性猛交xxx| 91青草视频久久| 狠狠色香婷婷久久亚洲精品| 国产精品嫩草影院一区二区| 国产欧美一区二区| 亚洲成色777777女色窝| 国产色婷婷国产综合在线理论片a| 色综合久久中文字幕综合网小说| 久久理论片午夜琪琪电影网| 亚洲已满18点击进入在线看片| 久久久精品久久| 国产精品九九九| 2018中文字幕一区二区三区| 欧美性生活大片免费观看网址| 中日韩美女免费视频网址在线观看| 国内精品视频在线| 亚洲成人免费在线视频| 日韩在线视频观看| 国产亚洲视频中文字幕视频| 国产日韩在线精品av| 欧美一区二区.| 韩国视频理论视频久久| 久久久久久久久久久国产| 成人网欧美在线视频| 久久九九亚洲综合| 日韩美女视频免费看| 午夜精品久久久久久久99热浪潮| 欧美福利视频在线| 亚洲成人av片在线观看| 成人精品视频99在线观看免费| 亚洲一区二区三区在线免费观看| 国产亚洲精品美女久久久久| 精品无人区乱码1区2区3区在线| 亚洲字幕一区二区| 精品成人av一区| 国产欧美亚洲视频| 国产精品专区第二| 日韩免费观看高清| 久久久久亚洲精品成人网小说| 91精品久久久久久久久久久久久| 亚洲a∨日韩av高清在线观看| 爽爽爽爽爽爽爽成人免费观看| 亚洲伊人久久大香线蕉av| 亚洲欧美国产另类| 日韩电影免费在线观看中文字幕| 国产男人精品视频| 日韩欧美中文字幕在线观看| 91av在线精品| 国产精品第2页| 国产91精品网站| 欧美夫妻性生活视频| 欧美亚洲日本网站| 亚洲天堂免费视频| 亚洲性视频网站| 日韩av影视综合网| 国产精品自拍偷拍| 欧美最猛性xxxxx(亚洲精品)| 一区二区三区美女xx视频| 麻豆一区二区在线观看| 97在线免费观看视频| 亚洲国产精彩中文乱码av在线播放| 亚洲午夜精品久久久久久性色| 久久亚洲春色中文字幕| 国产精品白嫩初高中害羞小美女| 国内精品一区二区三区| 色婷婷综合成人av| 欧美午夜片欧美片在线观看| 精品偷拍各种wc美女嘘嘘| 国产精品日韩电影| 亚洲老头老太hd| 97av在线视频| 日韩高清欧美高清| 久久精品成人欧美大片| 亚洲精品欧美日韩专区| 国产精品一区电影| 欧美精品www在线观看| 日韩小视频在线| 在线亚洲国产精品网| 色综合导航网站| 欧美性猛交xxxx乱大交蜜桃| 日韩中文字幕国产| 欧美精品一本久久男人的天堂| 欧美激情一区二区三区在线视频观看| 91精品视频免费| 国产97在线视频| 日韩高清电影免费观看完整版| 亚洲精品久久久久久久久久久久久| 欧美激情在线观看| 国产不卡av在线免费观看| 国产精品一区=区| 欧美黑人巨大xxx极品| 日韩av网站导航| 日韩av手机在线看| 亚洲美女自拍视频| 久久艹在线视频| 日韩电影免费在线观看| 日韩在线视频二区| 日韩在线资源网| 欧美激情a在线| 国产日韩欧美自拍| 国产成人一区二区在线| 午夜精品在线视频| 亚洲综合在线小说| 欧美精品在线播放| 亚洲欧美一区二区三区久久| 国产国产精品人在线视| 国产丝袜一区二区| 欧美激情一级二级| 日韩中文字幕欧美| 国产精品久久精品| 亚洲国产成人91精品| 激情成人中文字幕| 国产极品精品在线观看| 国产精品无码专区在线观看| 九九热精品视频国产| 欧美亚洲国产视频| 精品偷拍各种wc美女嘘嘘| 午夜精品福利电影| 在线观看国产欧美| 欧美一级淫片播放口| 2018中文字幕一区二区三区| 超在线视频97| 国产亚洲欧美日韩精品|