




已閱讀5頁,還剩115頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第7章 Delphi數(shù)據庫系統(tǒng)設計技術,7.1 數(shù)據庫應用系統(tǒng)實施的步驟與方法 7.2 Delphi 兩層數(shù)據庫應用系統(tǒng)的支持技術 7.3 數(shù)據庫引擎管理器 7.4 連接ODBC數(shù)據庫 7.5 數(shù)據集控件 7.6 數(shù)據控制控件 7.7 報表控件,7.1 數(shù)據庫應用系統(tǒng)實施的步驟與方法,圖7-1 數(shù)據庫系統(tǒng)實現(xiàn)步驟和階段成果,開發(fā)數(shù)據庫應用系統(tǒng)是Delphi的強項。要建立數(shù)據庫應用系統(tǒng),除了要熟悉有關Delphi組件和object Pascal外,還要精通DBMS及數(shù)據庫建立的方法。數(shù)據庫應用系統(tǒng)設計和實現(xiàn)步驟如下:,7.2 Delphi 兩層數(shù)據庫應用系統(tǒng)的支持技術,數(shù)據庫應用系統(tǒng)主要采用兩層結構和三層結構的架構。兩層數(shù)據庫系統(tǒng)是指C/S(客戶服務器)結構或B/S(瀏覽器服務器)結構,而三層結構是客戶、應用服務器和數(shù)據庫服務器的系統(tǒng)結構。delphi 7支持兩層數(shù)據庫應用系統(tǒng)結構的技術有BDE技術、ADO技術、dbExpress技術和InterBass技術4種。作為重點,主要介紹BDE技術及使用方法。,7.2.1 基于BDE技術的兩層數(shù)據庫系統(tǒng),BDE為Delphi數(shù)據庫應用程序訪問各種數(shù)據庫提供了一致的接口。它具有以下一些特點: 通過BDE訪問任何一種格式的數(shù)據庫,用戶不必修改程序代碼,只需在BDE中設置新的數(shù)據庫的服務器名或者路徑即可。, BDE非常適合開發(fā)大型的客戶機/服務器應用程序. 如果要讓BDE能訪問一個新的數(shù)據庫,只要在系統(tǒng)中安裝新數(shù)據庫的BDE驅動程序或者ODBC驅動程序就可以了。 BDE是32位的數(shù)據庫引擎,支持多線程和有優(yōu)先級的多任務處理,多個應用程序可以同時運行并訪問同一個數(shù)據庫。,基于BDE技術的兩層數(shù)據庫系統(tǒng)的結構如圖,圖7-2 基于BDE技術的兩層數(shù)據庫系統(tǒng)的結構,7.2.2 ADO技術支持的兩層數(shù)據庫系統(tǒng),ADO(ActiveX Data Object)是微軟公司推出的一種數(shù)據訪問技術,它和ODBC(Open Database Connection) 、RDS(Remote Data Service)一起稱為MDAC(MicroSofe Data Access Compenents)。使用ADO技術時,需要安裝MDAC,而Delphi 7在安裝時也會自動安裝MDAC。采用ADO技術也可以通過ODBC訪問數(shù)據源。,基于ADO技術的兩層數(shù)據庫系統(tǒng)的結構如圖,圖7-2 基于ADO技術的兩層數(shù)據庫系統(tǒng)的結構,7.2.3 dbExpress技術支持的兩層數(shù)據庫系統(tǒng),dbExpress是一種數(shù)據訪問標準,它包括一組支持數(shù)據庫存取的驅動程序和組件。 dbExpress可以用于windows下的Delphi,也可以用于Linux平臺上的Kylix,能夠進行不同平臺的數(shù)據交換,便于開發(fā)跨平臺的數(shù)據庫應用系統(tǒng)。 dbExpress支持兩層的數(shù)據庫系統(tǒng),也支持多層數(shù)據庫系統(tǒng)。,基于 dbExpress 技術的兩層數(shù)據庫系統(tǒng)的結構如圖,圖7-2 基于dbExpress技術的兩層數(shù)據庫系統(tǒng)的結構,7.2.4 Interbase技術支持的兩層數(shù)據庫系統(tǒng),Interbase是Borland公司開發(fā)的一種關系數(shù)據庫管理系統(tǒng)。Delphi提供了專門的Interbase組件,可以快速高數(shù)地訪問Interbase數(shù)據庫?;贗nterbase的兩層數(shù)據庫系統(tǒng)的系統(tǒng)結構如圖;,7.3 數(shù)據庫引擎管理器,1數(shù)據庫別名的管理 2驅動程序的管理 3系統(tǒng)配置,圖7-2 BDE Administrator運行界面,圖7-3 設置數(shù)據庫驅動程序名,圖7-4 Paradox數(shù)據庫的BDE別名,圖7-5 BDE Administrator管理驅動程序的界面,圖7-6 BDE Administrator的系統(tǒng)配置,7.4 連接ODBC數(shù)據庫,配置ODBC驅動程序: 安裝ODBC驅動程序,打開Windows的控制面板,雙擊“ODBC Data Source(32bit)”,打開ODBC Data Source Administrator對話框,如圖7-7所示。 單擊“Add”按鈕,就會打開創(chuàng)建新數(shù)據源對話框,如圖7-8所示。,這里從驅動程序列表中選擇“Microsoft Access Driver(*.mdb)”,并單擊“完成”按鈕,則會打開ODBC Microsoft Access Setup對話框,如圖7-9所示。選擇Configuration頁框,展開Drivers節(jié)點,然后用鼠標右鍵單擊ODBC,從彈出的菜單中選擇“New”選項,這時將打開New ODBC Driver對話框,如圖7-10所示。,接著,展開Database頁框,選擇“Object”菜單上的“New”命令,打開New Database Alias對話框,如圖7-11所示。其中,選擇ODBC-access作為數(shù)據庫驅動程序,單擊“OK”。輸入完整的別名accesstry如圖7-12所示。最后,選擇Object菜單上的Apply命令,將新建的別名保存到BDE配置文件中。,圖7-7 ODBC Data Source Administrator對話框,圖7-8 創(chuàng)建新數(shù)據源對話框,圖7-9 ODBC Microsoft Access Setup對話框,圖7-10 New ODBC Driver對話框,圖7-11 New Database Alias對話框,圖7-12 新的別名,7.5 數(shù)據集控件,7.5.1 數(shù)據訪問控件簡介 7.5.2 數(shù)據集控件及其應用 7.5.3 TTable控件及其使用 7.5.4 TQuery控件及其使用 7.5.5 TDataSource控件及其使用,7.5.1 數(shù)據訪問控件簡介,圖7-34 BDE控件欄,VCL組件的公共屬性,7.5.2 數(shù)據集控件及其應用,1數(shù)據集控件的狀態(tài) 非活動狀態(tài)(Inactive) 瀏覽狀態(tài)(Browse) 編輯狀態(tài)(Edit) 插入狀態(tài)(Insert) 查找狀態(tài)(SetKey) 處理計算字段狀態(tài)(CalcFields),2數(shù)據集的打開和關閉 (1)打開數(shù)據集 方法1:通過設置數(shù)據集控件的Active屬性為True來打開與數(shù)據集相連的數(shù)據庫表。 方法2:調用數(shù)據集控件的Open方法,打開與數(shù)據集控件相連的數(shù)據庫表,這種方法只能在程序運行過程中通過程序進行。,(2)關閉數(shù)據集 方法1:設置數(shù)據集控件的Active屬性為False,以關閉與數(shù)據集控件相連的數(shù)據庫表。 方法2:調用Close方法以關閉與數(shù)據集控件相連的數(shù)據集表。,3數(shù)據集的瀏覽,表7-1 數(shù)據集的瀏覽方法,表7-2 數(shù)據集的瀏覽屬性,4數(shù)據集中的數(shù)據維護,表7-3 數(shù)據集中數(shù)據維護的方法,7.數(shù)據集的書簽 有關書簽操作,Delphi提供了三個方法: GetBookMark GotoBookMark FreeBookMark,7.數(shù)據集控件與數(shù)據控制控件的連接 數(shù)據集控件具有三個方法,用于控制數(shù)據集控件和與其相連的數(shù)據控制控件之間的連接,以及控制數(shù)據控制控件的顯示。它們是DisableControls方法、EnableControls方法、Refresh方法。,數(shù)據集控件的事件 BeforeOpen/Afteropen:在數(shù)據集控件打開之前/之后被觸發(fā)。 BeforeClose/Afterclose:在數(shù)據集控件關閉之前/之后被觸發(fā)。 BeforeInsert/AfterInsert:在數(shù)據集控件進入插入狀態(tài)之前/之后被觸發(fā)。 BeforeEdit/AfterEdit:在數(shù)據集控件被編輯之前/之后被觸發(fā)。, BeforePost/AfterPost:在數(shù)據集控件保存被修改的記錄之前/之后被觸發(fā)。 BeforeCancel/AfterCancel:在數(shù)據集控件取消進一步操作之前/之后被觸發(fā)。 BeforeDelete/AfterDelete:在數(shù)據集控件刪除當前記錄之前/之后被觸發(fā)。 OnNewRecord:當建立一條新記錄時被觸發(fā)。 OnCalcFields:當為表中的計算字段計算字段值時被觸發(fā)。,7.5.3 TTable控件及其使用,1TTabel控件的主要屬性 (1)DatabaseName屬性和TableName屬性 (2)KeyExclusive屬性 (3)IndexFields屬性和IndexFieldsCount屬性 (4)IndexName屬性和IndexFieldNames屬性 (5)Exclusive屬性 (6)ReadOnly屬性和CanModify屬性,2TTable控件的方法及應用 (1)設定數(shù)據庫表的使用范圍 (2)查詢數(shù)據庫表 (3)生成數(shù)據庫表(如表7-4所示),表7-4 各個控件的屬性設置,7.5.4 TQuery控件及其使用,1TQuery控件的主要屬性和方法,2TQuery控件的靜態(tài)SQL查詢 使用TQuery控件建立靜態(tài)SQL查詢的步驟如下: (1)為TQuery控件設置DatabaseName屬性 (2)為TQuery控件設置SQL屬性 (3)設置TDataSource控件的DataSet屬性 (4)連接數(shù)據控制控件和TQuery控件 (5)執(zhí)行SQL語句,3TQuery控件的動態(tài)SQL語句 在程序中為SQL語句中的參數(shù)賦值通常有三種方法: (1)使用TQuery控件的Params屬性 (2)使用TQuery控件的ParamByName方法 (3)使用TParams對象的ParamValues屬性,表7-5 各個控件的屬性設置,7.5.5 TDataSource控件及其使用,1TDataSource控件的屬性 (1)DataSet屬性、(2)Enable屬性、(3)AutoEdit屬性 2TDataSource控件的事件 (1)OnDataChange事件、(2)OnUpdataData事件、(3)OnStateChange事件,7.6 數(shù)據控制控件,7.6.1 數(shù)據控制控件簡介 7.6.2 TDBGrid控件 7.6.3 TDBNavigator控件 7.6.4 TDBText控件 7.6.5 TDBEdit控件 7.6.6 TDBMemo控件 7.6.7 TDBImage控件,7.6.8 TDBListBox控件 7.6.9 TDBComboBox控件 7.6.10 TDBLookupListBox控件 7.6.11 TDBLookupComboBox控件 7.6.12 TDBCheckBox控件 7.6.13 TDBRadioGroup控件 7.6.14 其他控件,圖7-42 DataControls控件頁上的控件,7.6.1 數(shù)據控制控件簡介,數(shù)據控制控件是通過TDatasource控件連接到TTable控件中具體的字段控件的,因而數(shù)據控制控件具有一些共同的屬性,用于連接TDatasource控件和TField控件。 (1)Datasource屬性 (2)DataField屬性 (3)Enabled屬性 (4)ReadOnly屬性,表7-6 各數(shù)據控制控件概述,7.6.2 TDBGrid控件,1TDBGrid控件的主要屬性: (1)Options屬性 (2)DragMode屬性 (3)DefalultDrawing屬性 (4)Columns屬性,圖7-44 字段編輯對話框,2TDBGrid控件的主要事件及應用,表7-7 TDBGrid控件中的主要事件,圖7-45 程序的設計界面,表7-8 各控件的主要屬性設置,7.6.3 TDBNavigator控件,1TDBNavigator控件的主要屬性 (1)VisibleButtons屬性 (2)ShowHint屬性 (3)Hints屬性,圖7-47 TDBNavigator控件,表7-9 TDBNavigator控件中的控制按鈕,2TDBNavigator控件的主要事件 TDBNavigator控件一個重要的事件是OnClick事件,它在TDBNavigator控件的某個按鈕被單擊并執(zhí)行相應的操作之后觸發(fā)。基本格式如下: procedure TForm1.DBNavigator1Click(Sender: TObject; Button: TNavigateBtn);,7.6.4 TDBText控件,1TDBText控件的主要屬性 在應用程序中一般要使用TDBText控件的DataSource屬性和DataField屬性。 2TDBText控件的應用舉例 用TDBText控件顯示Customer.DB表中的Company字段信息,可以用如圖7-50所示的窗體來實現(xiàn)。主要屬性設置如表7-10所示。,圖7-50 程序設計界面,表7-10 圖中各控件的屬性設置,7.6.5 TDBEdit控件,1TDBEdit控件的主要屬性 TDBEdit控件專門用于顯示編輯數(shù)據庫表中當前記錄的字段值。 2TDBEdit控件的應用舉例 在圖7-51所示的窗體中,TDBEdit控件用于顯示和編輯Customer.DB表中當前記錄的三個指定的字段,窗體中各控件的屬性設置如表7-11所示,程序運行之后如圖7-52所示。,圖7-51 用TDBEdit控件顯示和編輯表中的數(shù)據,表7-11 圖中各控件的屬性設置,圖7-52 用TDBEdit控件顯示和修改表中的數(shù)據,7.6.6 TDBMemo控件,TDBMemo控件的主要屬性: (1)ReadOnly屬性 (2)MaxLength屬性 (3)ScrollBar屬性 (4)WordWrap屬性 (5)Alignment屬性 (6)AutoDisplay屬性,7.6.7 TDBImage控件,1TDBImage控件的主要屬性: (1)AutoDisplay屬性 (2)ReadOnly屬性 (3)Stretch屬性,2TDBImage控件的應用舉例 下面舉一個使用TDBImage控件和TDBMemo控件的例子。程序的主窗體界面如圖7-53所示。其中主要控件的屬性設置如表7-12所示。,圖7-53 程序的設計界面,表7-12 窗體中各控件的屬性設置,7.6.8 TDBListBox控件,1TDBListBox控件的主要屬性 (1)IntegralHeight屬性 (2)Items屬性 (3)Style屬性 (4)ItemHeight屬性,2TDBListBox控件的應用舉例 舉一個使用TDBListBox控件的例子。列表框的選項在設計時用String List Editor來進行編輯。程序的主窗體的設計界面如圖7-56所示。其中主要控件的屬性設置如表7-13所示。程序的運行界面如圖7-57所示。,圖7-56 使用TDBListBox控件的窗體設計界面,表7-13 屬性設置,圖7-57 程序運行界面,7.6.9 TDBComboBox控件,1TDBComboBox控件的主要屬性 (1)Items屬性 (2)Style屬性 (3)DropDownCount屬性 (4)ItemHeight屬性 (5)Sorted屬性,圖7-58 TDBComboBox控件,2TDBComboBox控件的應用舉例,圖7-59 使用TDBComboBox控件的程序運行界面,7.6.10 TDBLookupListBox控件,表7-14 各控件屬性設置,圖7-60 使用TDBLookuplistbox控件的程序運行界面,7.6.11 TDBLookupComboBox控件,TDBLookupComboBox控件外觀與TDBComboBox控件相同,但顯示在組合框中的數(shù)據也來自于查詢數(shù)據表。TDBLookupComboBox控件有關查詢條件的設置與TDBLookup-ListBox控件相同。,7.6.12 TDBCheckBox控件,TDBCheckBox控件是把字段的值與預設的兩個字符串比較,分別由ValueChecked屬性和ValueUnChecked屬性指定。如果字段的值與ValueChecked屬性指定的字符串相匹配,則選中復選框。如果字段的值與ValueUnChecked屬性指定的字符串相匹配,則不選中復選框。但這兩個屬性中的內容對邏輯字段本身是不起任何作用的。,7.6.13 TDBRadioGroup控件,表7-15 各控件屬性設置,圖7-61 使用TDBRadioGroup控件的程序運行界面,7.6.14 其他控件,1TDBCtrlGrid控件(如表7-16、圖7-62所示) 2TDBRichEdit控件 3TDBChart控件,表7-16 各控件屬性設置,圖7-62 使用TDBCtrlGrid控件的程序運行界面,返回本節(jié),7.7 報表控件,7.7.1 報表控件簡介 7.7.2 制作報表實例 7.7.3 快速創(chuàng)建報表,7.7.1 報表控件簡介,QReport控件是一組用于為Delphi數(shù)據庫應用程序制作報表的控件,在它的控件板中,一共有23個控件,位于控件欄的QReport控件選項卡中,如圖7-78所示。,圖7-78 QReport控件板,1、TQuickRep控件的主要屬性方法有:,2TQRBand控件 TQuickRep控件的主要屬性有: (1)BandType屬性 (2)ForceNewPage屬性 (3)BeforePrint屬性,3TQRSubDetail控件 TQRSubDetail控件的主要屬性有: (1)DataSet屬性 (2)Master屬性 (3)Bands屬性,4其他QReport控件 (1)TQRChildBand控件:一般用于在其中顯示備注信息。 (2)TQRLabel控件:用于在報表中顯示靜態(tài)的文本。 (3)TQRDBText控件:用
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度醫(yī)院急診科與120急救中心合作協(xié)議
- 二零二五年度工人與包工頭建筑勞務合作創(chuàng)新發(fā)展協(xié)議
- 2025年度科技創(chuàng)新企業(yè)借款居間服務合同協(xié)議書
- 二零二五年度國際黨支部交流合作框架協(xié)議
- 二零二五年度實習生實習成果轉化與知識產權協(xié)議
- 二零二五年度可再生能源供應商合同保密協(xié)議與項目融資
- 2025年度項目管理勞務合同個稅起征點調整協(xié)議
- 二零二五年度工傷事故預防及責任協(xié)議范本
- 正式合同和簡易合同范本
- 2025至2031年中國銅管道配件行業(yè)投資前景及策略咨詢研究報告
- 2024年貴州省公務員考試《行測》真題及答案解析
- 絲綢之路上的民族學習通超星期末考試答案章節(jié)答案2024年
- 鐵路基礎知識題庫單選題100道及答案解析
- 四年級語文下冊第六單元【集體備課】(教材解讀+教學設計)
- 第二章 疾病概論課件
- 高壓發(fā)電機細分市場深度研究報告
- 新聞采訪與寫作課件第十五章其他報道樣式的寫作
- 解讀 國家數(shù)據局首批20個“數(shù)據要素x”典型案例-31正式版-WN8
- 《跨境直播運營》課件-跨境直播的意義和要素
- 3 學會反思(教學設計)部編版道德與法治六年級下冊
- 第一單元 歌唱祖國-《 中華人民共和國國歌》課件 2023-2024學年人音版初中音樂七年級上冊
評論
0/150
提交評論