版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 Delphi 程序設(shè)計(jì)程序設(shè)計(jì)葉核亞葉核亞人民郵電出版社人民郵電出版社 Delphi 程序設(shè)計(jì)程序設(shè)計(jì)v第1章 Delphi 2005簡介v第2章 Object Pascal語言基礎(chǔ)v第3章 Windows應(yīng)用程序界面設(shè)計(jì)v第4章 菜單、工具欄和對(duì)話框v第5章 使用復(fù)雜組件v第6章 面向?qū)ο蟮暮诵奶匦詖第7章 多文檔界面設(shè)計(jì)v第8章 程序調(diào)試與異常處理v第9章 文件操作和流v第10章 多媒體應(yīng)用設(shè)計(jì)v第11章 數(shù)據(jù)庫應(yīng)用設(shè)計(jì)v第12章 綜合應(yīng)用設(shè)計(jì) Delphi 程序設(shè)計(jì)第第11章章 數(shù)據(jù)庫應(yīng)用設(shè)計(jì)數(shù)據(jù)庫應(yīng)用設(shè)計(jì)1.11.1 關(guān)系數(shù)據(jù)庫系統(tǒng)概述關(guān)系數(shù)據(jù)庫系統(tǒng)概述2.11.2 Delphi數(shù)據(jù)
2、庫應(yīng)用程序基礎(chǔ)數(shù)據(jù)庫應(yīng)用程序基礎(chǔ)3.11.3 操縱表中字段操縱表中字段4.11.4 Query和和Database組件組件5.11.5 使用使用ADO組件連接數(shù)據(jù)庫組件連接數(shù)據(jù)庫 Delphi 程序設(shè)計(jì)11.1 關(guān)系數(shù)據(jù)庫系統(tǒng)概述關(guān)系數(shù)據(jù)庫系統(tǒng)概述1.11.1.1 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)2.11.1.2 關(guān)系模型關(guān)系模型3.11.1.3 結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQL4.11.1.4 數(shù)據(jù)庫體系結(jié)構(gòu)簡介數(shù)據(jù)庫體系結(jié)構(gòu)簡介 Delphi 程序設(shè)計(jì)11.1.1 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)1.數(shù)據(jù)庫(數(shù)據(jù)庫(DataBase,DB)是長期存儲(chǔ))是長期存儲(chǔ)在計(jì)算機(jī)外存上的、有結(jié)構(gòu)的、可共享在計(jì)算機(jī)外存上的
3、、有結(jié)構(gòu)的、可共享的數(shù)據(jù)集合。的數(shù)據(jù)集合。 2.數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系)是指數(shù)據(jù)庫系統(tǒng)中對(duì)數(shù)據(jù)庫進(jìn)行管理的軟件系統(tǒng)。統(tǒng)中對(duì)數(shù)據(jù)庫進(jìn)行管理的軟件系統(tǒng)。 3.數(shù)據(jù)庫系統(tǒng)(數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應(yīng)用程序、數(shù)據(jù)庫管理員、用戶等構(gòu)成的人序、數(shù)據(jù)庫管理員、用戶等構(gòu)成的人機(jī)機(jī)系統(tǒng)。系統(tǒng)。 Delphi 程序設(shè)計(jì)11.1.2 關(guān)系模型關(guān)系模型1.關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系模型的數(shù)據(jù)結(jié)構(gòu)關(guān)系關(guān)系主關(guān)鍵字主關(guān)鍵字關(guān)系的性質(zhì)關(guān)系的性質(zhì)關(guān)系模式關(guān)系模式學(xué)生(學(xué)號(hào),姓名,性別,省份,地區(qū),出生年月,民
4、族,團(tuán)員)課程(課程號(hào),課程名,學(xué)分)學(xué)生成績(學(xué)號(hào),課程號(hào),成績) 外關(guān)鍵字外關(guān)鍵字2.關(guān)系模型的數(shù)據(jù)操作與完整性約束關(guān)系模型的數(shù)據(jù)操作與完整性約束 Delphi 程序設(shè)計(jì)11.1.3 結(jié)構(gòu)化查詢語言結(jié)構(gòu)化查詢語言SQL1.SQL語言概述語言概述SQL功能動(dòng) 詞說 明數(shù)據(jù)定義CREATE、DROP、ALTER創(chuàng)建表、刪除表、修改表數(shù)據(jù)操縱INSERT、UPDATE、DELETE插入、更新、刪除數(shù)據(jù)查詢SELECT查詢數(shù)據(jù)控制GRANT、REVOKE授予權(quán)限、收回權(quán)限表11.2 SQL語言的動(dòng)詞 Delphi 程序設(shè)計(jì)2. 數(shù)據(jù)查詢數(shù)據(jù)查詢1.SELECT語句語法語句語法SELECT ALL
5、| DISTINCT 列表達(dá)式列表達(dá)式 ,列表達(dá)式,列表達(dá)式 FROM 表表 WHERE 條件表達(dá)式條件表達(dá)式 GROUP BY 列列 HAVING 條件表達(dá)式條件表達(dá)式 ORDER BY 列列 ASC|DESC;2.運(yùn)算符運(yùn)算符=、= 、AND、OR 、LIKE 3.集函數(shù)集函數(shù)AVG( ALL | DISTINCT 列名列名) COUNT(*)、COUNT(列名列名)SUM(列名列名) 、MAX(列名列名)、MIN(列名列名) Delphi 程序設(shè)計(jì)11.1.4 數(shù)據(jù)庫體系結(jié)構(gòu)簡介數(shù)據(jù)庫體系結(jié)構(gòu)簡介1.單機(jī)數(shù)據(jù)庫單機(jī)數(shù)據(jù)庫AccessParadox 2.客戶客戶-服務(wù)器模式的關(guān)系數(shù)據(jù)庫系統(tǒng)
6、服務(wù)器模式的關(guān)系數(shù)據(jù)庫系統(tǒng)客戶客戶-服務(wù)器概念服務(wù)器概念基于客戶基于客戶-服務(wù)器模式的關(guān)系數(shù)據(jù)庫系統(tǒng)描述服務(wù)器模式的關(guān)系數(shù)據(jù)庫系統(tǒng)描述 Delphi 程序設(shè)計(jì)圖圖11.1 客戶客戶-服務(wù)器模式的關(guān)服務(wù)器模式的關(guān)系數(shù)據(jù)庫系統(tǒng)描述系數(shù)據(jù)庫系統(tǒng)描述 窗口窗口服務(wù)器端數(shù)據(jù)庫開發(fā)工具客戶端數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)表用戶數(shù)據(jù)庫管理員(DBA)接口軟件設(shè)計(jì)人員 Delphi 程序設(shè)計(jì)11.2 Delphi數(shù)據(jù)庫應(yīng)用程序數(shù)據(jù)庫應(yīng)用程序基礎(chǔ)基礎(chǔ)1.11.2.1 與數(shù)據(jù)庫的連接方式與數(shù)據(jù)庫的連接方式2.11.2.2 數(shù)據(jù)庫操作組件概述數(shù)據(jù)庫操作組件概述3.11.2.3 數(shù)據(jù)集組件數(shù)據(jù)集組
7、件Table4.11.2.4 數(shù)據(jù)源組件數(shù)據(jù)源組件DataSource5.11.2.5 數(shù)據(jù)控制組件數(shù)據(jù)控制組件DBGrid和和DBNavigator Delphi 程序設(shè)計(jì)11.2.1 與數(shù)據(jù)與數(shù)據(jù)庫的連接方式庫的連接方式BDE / ADODelphi數(shù)據(jù)庫應(yīng)用程序本地?cái)?shù)據(jù)庫ODBC本地/遠(yuǎn)程數(shù)據(jù)庫Paradox、Access等Access、Sybase、DB2、SQL Server等 Delphi 程序設(shè)計(jì)11.2.2 數(shù)據(jù)庫操作組件概述數(shù)據(jù)庫操作組件概述1.數(shù)據(jù)集組件數(shù)據(jù)集組件基于基于BDE的數(shù)據(jù)集組件的數(shù)據(jù)集組件基于基于ADO的數(shù)據(jù)集組件的數(shù)據(jù)集組件2.數(shù)據(jù)源組件數(shù)據(jù)源組件3.數(shù)據(jù)控制
8、組件數(shù)據(jù)控制組件【例【例11.1】 使用使用Delphi數(shù)據(jù)庫向?qū)?,?chuàng)建網(wǎng)格數(shù)據(jù)庫向?qū)?,?chuàng)建網(wǎng)格顯示的數(shù)據(jù)庫應(yīng)用程序。顯示的數(shù)據(jù)庫應(yīng)用程序。 Delphi 程序設(shè)計(jì)圖圖11.4 組件關(guān)系與功能圖組件關(guān)系與功能圖 Paradox數(shù)據(jù)庫表country.dbTable數(shù)據(jù)集組件DataSource數(shù)據(jù)源組件連接數(shù)據(jù)庫中的表獲得數(shù)據(jù)源DBGrid數(shù)據(jù)顯示組件DBNavigator數(shù)據(jù)控制組件控制數(shù)據(jù)顯示數(shù)據(jù) Delphi 程序設(shè)計(jì)11.2.3 數(shù)據(jù)集組件數(shù)據(jù)集組件Table1.Table組件的主要屬性組件的主要屬性DatabaseName指明要訪問的數(shù)據(jù)庫指明要訪問的數(shù)據(jù)庫名或本地?cái)?shù)據(jù)庫的路徑名或本
9、地?cái)?shù)據(jù)庫的路徑TableName指定和組件相連的數(shù)據(jù)庫中指定和組件相連的數(shù)據(jù)庫中表名表名Active打開或關(guān)閉數(shù)據(jù)集打開或關(guān)閉數(shù)據(jù)集 Delphi 程序設(shè)計(jì)2. Table組件的主要方法組件的主要方法1.打開打開/關(guān)閉數(shù)據(jù)集關(guān)閉數(shù)據(jù)集procedure Open();procedure Close();2.改變數(shù)據(jù)集的當(dāng)前記錄改變數(shù)據(jù)集的當(dāng)前記錄procedure First(); procedure Prior();procedure Next();procedure Last();function MoveBy(Distance: integer): integer;3.定位一條指定記錄定
10、位一條指定記錄function Locate(const KeyFields:string;const KeyValues:Variant; Option:TLocateOption):boolean;4.搜索多條特定記錄搜索多條特定記錄function Lookup(const KeyFields:string;const KeyValues:Variant; const ResultFields:string):Variant; Delphi 程序設(shè)計(jì)屬性屬性功能功能BOF當(dāng)記錄指針位于數(shù)據(jù)集開頭時(shí),屬性值為當(dāng)記錄指針位于數(shù)據(jù)集開頭時(shí),屬性值為True,否則為,否則為FalseEOF當(dāng)記錄
11、指針位于數(shù)據(jù)集結(jié)尾時(shí),屬性值為當(dāng)記錄指針位于數(shù)據(jù)集結(jié)尾時(shí),屬性值為True,否則為,否則為False Delphi 程序設(shè)計(jì)3. Table組件的主要事件組件的主要事件Table組件可以響應(yīng)的事件大致分為三類:組件可以響應(yīng)的事件大致分為三類: Before+操作名,操作名,After+操作名和操作名和On+操作名操作名BeforeOpen,AfterOpen發(fā)生在數(shù)據(jù)集打開前后發(fā)生在數(shù)據(jù)集打開前后BeforeClose,AfterClose發(fā)生在數(shù)據(jù)集關(guān)閉前后發(fā)生在數(shù)據(jù)集關(guān)閉前后BeforeInsert,AfterInsert發(fā)生在插入一條新的記錄前后發(fā)生在插入一條新的記錄前后BeforeEd
12、it,AfterEdit發(fā)生在進(jìn)入發(fā)生在進(jìn)入dsEdit狀態(tài)前后狀態(tài)前后BeforePost,AfterPost發(fā)生在寫數(shù)據(jù)集的前后發(fā)生在寫數(shù)據(jù)集的前后BeforeCancel,AfterCancel發(fā)生在取消修改的前后發(fā)生在取消修改的前后BeforeDelete,AfterDelete發(fā)生在刪除記錄的前后發(fā)生在刪除記錄的前后OnNewRecord發(fā)生在創(chuàng)建新記錄時(shí),用于設(shè)置缺省值發(fā)生在創(chuàng)建新記錄時(shí),用于設(shè)置缺省值OnCalcFields發(fā)生在計(jì)算字段進(jìn)行計(jì)算時(shí)發(fā)生在計(jì)算字段進(jìn)行計(jì)算時(shí)【例【例11.2】 定位與搜索數(shù)據(jù)集。定位與搜索數(shù)據(jù)集。 Delphi 程序設(shè)計(jì)11.2.4 數(shù)據(jù)源組件數(shù)據(jù)源
13、組件DataSource1.DataSource組件的主要屬性組件的主要屬性DataSet指定為其提供數(shù)據(jù)的數(shù)據(jù)集組件,指定為其提供數(shù)據(jù)的數(shù)據(jù)集組件,如如Table、Query2.DataSource組件的主要方法組件的主要方法3.DataSource組件的主要事件組件的主要事件OnDataChange當(dāng)修改字段內(nèi)容或記錄當(dāng)修改字段內(nèi)容或記錄指針移動(dòng)時(shí)觸發(fā)。指針移動(dòng)時(shí)觸發(fā)。OnUpdateData當(dāng)關(guān)系表中當(dāng)前的記錄被更當(dāng)關(guān)系表中當(dāng)前的記錄被更新時(shí)觸發(fā)新時(shí)觸發(fā) Delphi 程序設(shè)計(jì)11.2.5 數(shù)據(jù)控制組件數(shù)據(jù)控制組件DBGrid和和DBNavigator1.數(shù)據(jù)控制組件的共同屬性數(shù)據(jù)控制組
14、件的共同屬性DataSource指定連接的數(shù)據(jù)源組件指定連接的數(shù)據(jù)源組件Enabled組件是否有效。組件是否有效。ReadOnly指定是否可編輯。指定是否可編輯。2.DBGrid組件組件Columns設(shè)置需要顯示的字段及其屬性設(shè)置需要顯示的字段及其屬性3.DBNavigator組件組件 Delphi 程序設(shè)計(jì)11.3 操縱表中字段操縱表中字段1.11.3.1 字段對(duì)象字段對(duì)象2.11.3.2 操縱字段的數(shù)據(jù)控制組件操縱字段的數(shù)據(jù)控制組件 Delphi 程序設(shè)計(jì)11.3.1 字段對(duì)象字段對(duì)象1.創(chuàng)建永久的字段對(duì)象創(chuàng)建永久的字段對(duì)象2.字段對(duì)象屬性和事件字段對(duì)象屬性和事件3.引用字段對(duì)象引用字段對(duì)
15、象通過字段對(duì)象名引用永久的字段對(duì)象通過字段對(duì)象名引用永久的字段對(duì)象nTable1Capital.DisplayLabel:= 首都;通過通過Fields屬性的數(shù)組元素引用字段對(duì)象屬性的數(shù)組元素引用字段對(duì)象nTable1.Fields0.DisplayLabel:= 國家;通過表中的字段名引用字段對(duì)象通過表中的字段名引用字段對(duì)象nTable1.FieldByName(Capital).DisplayLabel:= 首都;4.自定義字段對(duì)象自定義字段對(duì)象創(chuàng)建字段對(duì)象創(chuàng)建字段對(duì)象為為DBGrid添加字段對(duì)象添加字段對(duì)象 Delphi 程序設(shè)計(jì)【例【例11.3】 創(chuàng)建計(jì)算字段對(duì)象。創(chuàng)建計(jì)算字段對(duì)象。1
16、.創(chuàng)建字段對(duì)象創(chuàng)建字段對(duì)象Calculate 2.初始化初始化 3.定義計(jì)算公式定義計(jì)算公式 Delphi 程序設(shè)計(jì)11.3.2 操縱字段的數(shù)據(jù)控制組操縱字段的數(shù)據(jù)控制組件件1.DBText 字段標(biāo)簽字段標(biāo)簽2.DBEdit 字段編輯框字段編輯框3.DBMemo 字段多行字段多行文本編輯框文本編輯框4.DBImage 字段圖像字段圖像組件組件5.DBListBox 字段列字段列表框表框6.DBComboBox 字段字段組合框組合框7.DBCheckBox 字段字段復(fù)選框復(fù)選框vDBRadioGroup 字段單選按字段單選按鈕組鈕組vDBLookUpListBox 字段查字段查詢列表框詢列表框v
17、DBLookUpComboBox 字段字段查詢組合框查詢組合框vDBRichEdit 字段多行字段多行RTF文文本編輯框本編輯框vDBCtrlGrid 字段顯示網(wǎng)格字段顯示網(wǎng)格vDBChart 字段圖表字段圖表【例【例11.4】 使用使用Delphi數(shù)據(jù)庫向數(shù)據(jù)庫向?qū)?,?chuàng)建按字段顯示的數(shù)據(jù)導(dǎo),創(chuàng)建按字段顯示的數(shù)據(jù)庫應(yīng)用程序。庫應(yīng)用程序。 Delphi 程序設(shè)計(jì)11.4 Query和和Database組件組件1.11.4.1 使用使用Query組件執(zhí)行組件執(zhí)行SQL語句語句2.11.4.2 使用使用Database組件連接數(shù)據(jù)組件連接數(shù)據(jù)庫庫 Delphi 程序設(shè)計(jì)1.Query組件組件SQL語
18、句寫在語句寫在Query組件的組件的SQL屬性中屬性中屬性屬性:DatabaseName,SQL,Params方法方法:Open,Close, ExecSQL, ParamByName Delphi 程序設(shè)計(jì)11.4.1 使用使用Query組件執(zhí)行組件執(zhí)行SQL語句語句【例【例11.5】 按指定字段查詢。按指定字段查詢。 關(guān)鍵語句關(guān)鍵語句:sqlwhere:= where Capital = +Edit1.Text+;/注意空格和單引號(hào)注意空格和單引號(hào)Query1.SQL.Clear; /清除原先的清除原先的SQL語句語句Query1.SQL.Add(sqlstr+sqlwhere); /添加添加SQL語句語句Query1.Open; /打開表,執(zhí)行打開表,執(zhí)行SQL語句語句 Delphi 程序設(shè)計(jì)n動(dòng)態(tài)動(dòng)態(tài)SQL與參數(shù)使用與參數(shù)使用SQL中的條件查詢中的條件查詢Query的的Params屬性屬性通過通過Params屬性數(shù)組為參數(shù)賦值屬性數(shù)組為參數(shù)賦值調(diào)用調(diào)用ParamByName函數(shù)為參數(shù)賦值函數(shù)為參數(shù)賦值連接查詢,使用連接查詢,使用DataSource屬性為參數(shù)屬性為參數(shù)賦值賦值 Delphi 程序設(shè)計(jì)【例【例11.6】 按任意字段查詢。按任意字段查詢。1.圖形界面設(shè)計(jì)圖形界面設(shè)計(jì) Query1.SQ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 雙11聯(lián)動(dòng)營銷-借力者強(qiáng)借勢(shì)者智借智者王
- 貴金屬礦選礦廠運(yùn)營與管理考核試卷
- 項(xiàng)目定位的標(biāo)準(zhǔn)化思考路徑
- 中國質(zhì)量協(xié)會(huì)注冊(cè)六西格瑪黑帶考試樣題-2014版
- 七年級(jí)下學(xué)期期中考試模擬試卷01-七年級(jí)道德與法治下冊(cè)(統(tǒng)編版)(解析版)
- 易查云全球智能貿(mào)易信息查詢平臺(tái)商業(yè)計(jì)劃書
- 醬油食醋的設(shè)備選型與生產(chǎn)線布局考核試卷
- 2024年全球消費(fèi)者洞察報(bào)告
- 啞鈴軸舉重用商業(yè)發(fā)展計(jì)劃書
- 入耳式耳機(jī)相關(guān)項(xiàng)目建議書
- 壓力性尿失禁的護(hù)理課件
- Unit 2 Lesson3 Runnig and Fitness 課件高中英語北師大版(2019)必修第一冊(cè)
- 五年級(jí)語文新課程標(biāo)準(zhǔn)
- 中等職業(yè)學(xué)校突發(fā)事件輿情處置應(yīng)急預(yù)案
- 重慶網(wǎng)格員考試題庫2023
- 液壓泵泵蓋數(shù)控加工工藝工裝設(shè)計(jì)畢業(yè)設(shè)計(jì)
- 銀行非惡意逾期證明
- 03J111-1 輕鋼龍骨內(nèi)隔墻
- 2015-2022年哈爾濱鐵道職業(yè)技術(shù)學(xué)院高職單招語文/數(shù)學(xué)/英語筆試參考題庫含答案解析
- 碾壓混凝土重力壩層間結(jié)合質(zhì)量控制QC成果
- 電力-通信管道專項(xiàng)施工方案
評(píng)論
0/150
提交評(píng)論