![《數(shù)據(jù)庫技術與應用》 講義_第1頁](http://file4.renrendoc.com/view/0e4d3a346810b81eb8747f48e2c602d7/0e4d3a346810b81eb8747f48e2c602d71.gif)
![《數(shù)據(jù)庫技術與應用》 講義_第2頁](http://file4.renrendoc.com/view/0e4d3a346810b81eb8747f48e2c602d7/0e4d3a346810b81eb8747f48e2c602d72.gif)
![《數(shù)據(jù)庫技術與應用》 講義_第3頁](http://file4.renrendoc.com/view/0e4d3a346810b81eb8747f48e2c602d7/0e4d3a346810b81eb8747f48e2c602d73.gif)
![《數(shù)據(jù)庫技術與應用》 講義_第4頁](http://file4.renrendoc.com/view/0e4d3a346810b81eb8747f48e2c602d7/0e4d3a346810b81eb8747f48e2c602d74.gif)
![《數(shù)據(jù)庫技術與應用》 講義_第5頁](http://file4.renrendoc.com/view/0e4d3a346810b81eb8747f48e2c602d7/0e4d3a346810b81eb8747f48e2c602d75.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 董密信息科學與工程系 數(shù)據(jù)庫技術與應用 講義2010 .09 Delphi 程序設計第六章 Delphi數(shù)據(jù)庫應用開發(fā)精要Delphi數(shù)據(jù)庫應用程序基礎6.2Delphi數(shù)據(jù)庫應用程序基礎Query和Database組件使用ADO組件連接數(shù)據(jù)庫6.36.46.5操縱表中字段6.6Delphi工程創(chuàng)建與管理6.1 Delphi 程序設計6.1 Delphi工程創(chuàng)建與管理6.1.16.1.26.1.3Delphi 工程項目的創(chuàng)建Delphi 工程項目屬性的設置Delphi 工程項目的文件管理 Delphi 程序設計6.1.1 Delphi 工程項目的創(chuàng)建 Delphi 程序設計保存單元文件保存工
2、程文件 Delphi 程序設計6.1.2 Delphi 工程項目屬性的設置 Delphi 程序設計工程圖標窗體屬性 Delphi 程序設計6.1.3 Delphi 工程項目的文件管理一個Delphi應用程序必須有一個工程文件和至少一個單元文件, Delphi應用程序的主要文件類型如下表: Delphi 程序設計文件類型擴展名說明工程文件.dpr記錄工程項目中包含的單元文件、窗體文件以及應用程序初始化程序代碼。文件由IDE自動維護。單元文件.pas給出了窗體和組件對象的事件處理方法,可由用戶進行編輯操作窗體文件.dfm描述窗體和組件的屬性,系統(tǒng)自動編輯該文件單元目標文件.dcu單元文件經(jīng)過編譯后
3、生成該文件資源文件.res保存著工程需要的位圖、圖標等資源,由IDE自動維護執(zhí)行文件.exe由工程項目生成的可執(zhí)行文件,經(jīng)過編譯、連接后自動創(chuàng)建該文件單元備份文件.pas單元文件的備份,由IDE自動維護工程備份文件.dpr工程文件的備份,由IDE自動維護窗體備份文件.dfm窗體文件的備份,由IDE自動維護 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計1.工程文件 project1example.dpr 打開工程文件 Delphi 程序設計打開后的工程文件 Delphi 程序設計2.單元文件 unitexample.pas Delphi 程序設計6.2.16.2.26.
4、2.3數(shù)據(jù)庫的連接與訪問數(shù)據(jù)庫操作組件概述數(shù)據(jù)集組件Table6.2 Delphi數(shù)據(jù)庫應用程序基礎6.2.4數(shù)據(jù)源組件DataSource6.2.5數(shù)據(jù)控制組件DBGrid和DBNavigator Delphi 程序設計SQL LinkODBC驅動程序Report Smith驅動程序Report SmithBDE 配置程序Borland DataBase Engine BDE本地數(shù)據(jù)源dBase Paradox符合ODBC規(guī)范的DBMS如Access Btrieve 等等遠程數(shù)據(jù)庫遠程數(shù)據(jù)源Sybase 等Oracle,SQL ServerDelphi IDE 創(chuàng)建一個Delphi 數(shù)據(jù)庫應
5、用程序Delphi 數(shù)據(jù)庫結構 Delphi 程序設計6.2.1 數(shù)據(jù)庫的連接與訪問數(shù)據(jù)庫的連接數(shù)據(jù)庫訪問機制數(shù)據(jù)庫連接控件Borland Database Engine(BDE)Tdatabase/通過BDE管理器ActivX Data Object (ADO)TADOConnectionDbExpressTSQLConnection Delphi 程序設計1)直接利用BDE連接SQL Server 數(shù)據(jù)庫6.2.1 數(shù)據(jù)庫的連接當前數(shù)據(jù)庫別名別名參數(shù) Delphi 程序設計 Delphi 程序設計參數(shù)設置新建立數(shù)據(jù)庫別名 Delphi 程序設計參數(shù)保存選擇新數(shù)據(jù)庫別名 彈擊鼠標右鍵 Del
6、phi 程序設計2 )使用Database組件連接數(shù)據(jù)庫Database組件的主要屬性AliasName 指定所連接的數(shù)據(jù)庫名DatabaseName指定數(shù)據(jù)庫別名Connected連接數(shù)據(jù)庫。Database組件的主要方法Close方法 Database組件的主要事件OnLogin事件 Delphi 程序設計Database1 Delphi 程序設計2)使用 TADOConnection Delphi 程序設計 Delphi 程序設計3)使用TSQLConnection連接數(shù)據(jù)庫雙擊單擊測試 Delphi 程序設計6.2.2 數(shù)據(jù)庫的訪問BDE(Borland Database Engine
7、)ADOdbExpress ODBC在建立好數(shù)據(jù)庫連接的基礎上,使用BDE數(shù)據(jù)集控件獲得數(shù)據(jù)庫中數(shù)據(jù),然后以該數(shù)據(jù)為緩沖區(qū)對其中的數(shù)據(jù)進行操作。數(shù)據(jù)訪問有四種: Delphi 程序設計1.使用BDE訪問數(shù)據(jù)庫用戶界面元素BDE數(shù)據(jù)源數(shù)據(jù)源數(shù)據(jù)庫數(shù)據(jù)集數(shù)據(jù)集數(shù)據(jù)庫會話表單數(shù)據(jù)模型1) BDE的體系結構 Delphi 程序設計2)使用BDE管理器在BDE下安裝的數(shù)據(jù)庫驅動大體為三類: Delphi 標準Standard 驅動程序 SQL數(shù)據(jù)庫驅動程序 ODBC驅動程序 Delphi 程序設計BDE管理器配置SQL Server 數(shù)據(jù)庫參數(shù)設置 Delphi 程序設計 Delphi 程序設計3) B
8、DE數(shù)據(jù)庫操作組件概述數(shù)據(jù)集組件基于BDE的數(shù)據(jù)集組件基于ADO的數(shù)據(jù)集組件數(shù)據(jù)源組件數(shù)據(jù)控制組件【例】 使用Delphi數(shù)據(jù)庫向導,創(chuàng)建網(wǎng)格顯示的數(shù)據(jù)庫應用程序。 Delphi 程序設計4) BDE數(shù)據(jù)庫程序開發(fā)技術組件關系與功能圖 Delphi 程序設計數(shù)據(jù)集組件Table1)Table組件的主要屬性 DatabaseName: 指明要訪問的數(shù)據(jù)庫名或本地數(shù)據(jù)庫的路徑 TableName:指定和組件相連的數(shù)據(jù)庫中表名 Active:打開或關閉數(shù)據(jù)集 Filtered :確定對結果集是否進行過濾 Filter:該屬性用來確定過濾條件Table1 Delphi 程序設計Table組件的主要方法
9、打開/關閉數(shù)據(jù)集procedure Open();procedure Close();改變數(shù)據(jù)集的當前記錄procedure First(); procedure Prior();procedure Next();procedure Last();function MoveBy(Distance: integer): integer;定位一條指定記錄function Locate(const KeyFields:string;const KeyValues:Variant; Option:TLocateOption):boolean;搜索多條特定記錄function Lookup(const
10、KeyFields:string;const KeyValues:Variant; const ResultFields:string):Variant; Delphi 程序設計3) Table組件的主要事件Table組件可以響應的事件大致分為三類: Before+操作名,After+操作名和On+操作名BeforeOpen,AfterOpen發(fā)生在數(shù)據(jù)集打開前后BeforeClose,AfterClose發(fā)生在數(shù)據(jù)集關閉前后BeforeInsert,AfterInsert發(fā)生在插入一條新的記錄前后BeforeEdit,AfterEdit發(fā)生在進入dsEdit狀態(tài)前后BeforePost,Af
11、terPost發(fā)生在寫數(shù)據(jù)集的前后BeforeCancel,AfterCancel發(fā)生在取消修改的前后BeforeDelete,AfterDelete發(fā)生在刪除記錄的前后OnNewRecord發(fā)生在創(chuàng)建新記錄時,用于設置缺省值OnCalcFields發(fā)生在計算字段進行計算時 Delphi 程序設計數(shù)據(jù)源組件DataSourceDataSource組件的主要屬性DataSet指定為其提供數(shù)據(jù)的數(shù)據(jù)集組件,如Table、QueryDataSource組件的主要方法DataSource組件的主要事件OnDataChange當修改字段內容或記錄指針移動時觸發(fā)。OnUpdateData當關系表中當前的記
12、錄被更新時觸發(fā) Delphi 程序設計數(shù)據(jù)控制組件DBGrid和DBNavigator數(shù)據(jù)控制組件的共同屬性DataSource指定連接的數(shù)據(jù)源組件Enabled組件是否有效。ReadOnly指定是否可編輯。DBGrid組件Columns設置需要顯示的字段及其屬性DBNavigator組件DBGride1 DBNavigator1 Delphi 程序設計DBGridDatasourceTable數(shù)據(jù)控制組件 Delphi 程序設計Table1 Delphi 程序設計確定組件連接的數(shù)據(jù)庫表名指定數(shù)據(jù)庫名打開與數(shù)據(jù)集的連接 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 D
13、elphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計2.使用ODBC訪問數(shù)據(jù)庫 ODBC(Open Database Connectivity) 由微軟公司提出的一個用于訪問數(shù)據(jù)庫的統(tǒng)一界面標準,ODBC是基于結構化查詢語言(SQL),如果在 ODBC中建立了一個DSN(數(shù)據(jù)源名)連接,那么Delphi程序還是需要使用BDE來連接它,BDE將ODBC中所有的別名自動在BDE中建立相同名稱的別名,并且它是刪不掉的,除非你刪掉ODBC的DSN。這種方式實際上是通過BDE,再通過ODBC,才連接到數(shù)據(jù)庫。 大型關系數(shù)據(jù)庫都提供ODBC驅動。在建立ODBC源時,
14、都會調用本身的配置,不同的數(shù)據(jù)庫也是不同的。 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計連接SQLServer 數(shù)據(jù)庫設置ODBC數(shù)據(jù)源 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計設置數(shù)據(jù)庫引擎 Delphi 程序設計修改參數(shù) Delphi 程序設計保存參數(shù) Delphi 程序設計建立連接(Tdatabase)設置Database Delphi 程序設計設置DBGrid Delphi 程序設計設置DataSource Delphi 程序設計設置Query Delphi 程序設計處于打開狀態(tài) Delphi 程序設計 Delphi 程序設計使
15、用ADO訪問數(shù)據(jù)庫無需BDE Delphi 程序設計 ADO(ActiveX Data Objects)是Microsoft公司提供的訪問數(shù)據(jù)庫的一套組件,其底層為OLE DB。ADO是Microsoft公司近年來所提出的數(shù)據(jù)訪問策略之一。 Delphi 程序設計微軟的幾種數(shù)據(jù)訪問策略如下。(1)UDA(2)ODBC(3) RDO(4)Jet Delphi 程序設計(5)DAO(6)ODBCDirect(7) OLE DB(8)ADO(9)RDS(10)MDAC Delphi 程序設計ADO (ActiveX Data Objects)對象使用ADOConnection 組件建立數(shù)據(jù)庫的連接
16、Delphi 程序設計有以下幾點需要注意。(1)如果將所有的組件放入DataMoudle中,而在其他單元中,如果要使用所定義的ADOConnection,必須使用USE語句引入DataMoudle單元,否則無法實現(xiàn)關聯(lián)引用。(2)把數(shù)據(jù)規(guī)則定義在同一模塊中是一種好的編程習慣,不但方便使用和維護,而且便于以后程序的擴充,很容易遷移到三層或多層應用。所以建議將使用到的組件 。 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計(1)建立ADO連接的參數(shù)保存在程
17、序的配置文件gxgl.ini中 。(2)在應用程序中,創(chuàng)建Database前使用下面的代碼將gxgl.ini中數(shù)據(jù)庫選項的內容讀取到Database的參數(shù)列表中,實現(xiàn)應用程序與實際數(shù)據(jù)庫的代碼隔離。動態(tài)建立ADO連接(自學) Delphi 程序設計注意事項 (1)以上代碼假設ADOConnection在DataMoudle中創(chuàng)建,并且DataMoudle的名字為DMData(2)由于使用了TiniFile對象,需要在聲明中引入inifiles,即使用uses語句聲明inifiles。 Delphi 程序設計(3)由于使用了Application對象,需要在聲明中引入Forms。(4)對于the
18、Ini,在本例中作為全局變量,要求系統(tǒng)啟動時首先創(chuàng)建theIni,例如,可在DMData的initialization初始化模塊中建立;在系統(tǒng)退出時要釋放,例如,在DMData的finalization模塊中執(zhí)行FreeanNil(theIni)。 Delphi 程序設計dbExpress 1 dbExpress組件 在組件面板dbExpress頁上集成了訪問和管理dbExpress數(shù)據(jù)集的VCL組件。 Delphi 程序設計2 使用dbExpress創(chuàng)建數(shù)據(jù)庫應用程序 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 De
19、lphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計 Delphi 程序設計采用dbExpress也能夠實現(xiàn)數(shù)據(jù)的雙向瀏覽和修改保存,1. 通過組件TSimpleDataSet來實現(xiàn)2. 使用TSQLDataSet搭配TDataSetProvider和TClientDataSet組件來實現(xiàn) Delphi 程序設計6.3 操縱表中字段6.3.16.3.2字段對象操縱字段的數(shù)據(jù)控制組件 Delp
20、hi 程序設計6.3.1 字段對象雙擊永久字段對象1.創(chuàng)建永久的字段對象 Delphi 程序設計 Delphi 程序設計2.引用字段對象通過字段對象名引用永久的字段對象Table1Capital.DisplayLabel:= 首都;通過Fields屬性的數(shù)組元素引用字段對象Table1.Fields0.DisplayLabel:= 國家;通過表中的字段名引用字段對象Table1.FieldByName(Capital).DisplayLabel:= 首都;3.自定義字段對象創(chuàng)建字段對象為DBGrid添加字段對象 Delphi 程序設計6.3.2 操縱字段的數(shù)據(jù)控制組件DBText 字段標簽DBEdit 字段編輯框DBMemo 字段多行文本編輯框DBImage 字段圖像組件DBListBox 字段列表框DBComboBox 字段組合框DBCheckBox 字段復選框DBRadioGroup 字段單選按鈕組DBLookUpListBox 字段查詢列表框DBLookUpComboBox 字段查詢組
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年9月幼兒園園長個人工作總結范文(二篇)
- 2025年上半年公司行政部工作總結模版(三篇)
- 2025年《海底兩萬里》中學生讀書心得感悟樣本(2篇)
- 2025年上半年學校交通安全工作總結范例(三篇)
- 2025年一年級教師讀書心得(3篇)
- 二零二五年度智能交通管理系統(tǒng)采購合同評審流程圖
- 二零二五年度特區(qū)普通住房租賃合同(含租賃合同解除及終止條件)
- 2025年度河北省勞動合同法實施情況調研報告與建議
- 2025正規(guī)版?zhèn)€人之間借款合同樣式
- 2025保險合同訂立的程序參考
- 護理人文知識培訓課件
- 建筑工程施工安全管理課件
- 2025年春新人教版數(shù)學七年級下冊教學課件 7.2.3 平行線的性質(第1課時)
- 安徽省合肥市2025年高三第一次教學質量檢測地理試題(含答案)
- 2025年新合同管理工作計劃
- 統(tǒng)編版八年級下冊語文第三單元名著導讀《經(jīng)典常談》閱讀指導 學案(含練習題及答案)
- 風光儲儲能項目PCS艙、電池艙吊裝方案
- TTJSFB 002-2024 綠色融資租賃項目評價指南
- 全新車位轉讓協(xié)議模板下載(2024版)
- 高中英語原版小說整書閱讀指導《奇跡男孩》(wonder)-Part one 講義
- GB/T 4745-2012紡織品防水性能的檢測和評價沾水法
評論
0/150
提交評論