版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 Delphi 程序設計程序設計葉核亞葉核亞人民郵電出版社人民郵電出版社 Delphi 程序設計程序設計v第1章 Delphi 2005簡介v第2章 Object Pascal語言基礎v第3章 Windows應用程序界面設計v第4章 菜單、工具欄和對話框v第5章 使用復雜組件v第6章 面向對象的核心特性v第7章 多文檔界面設計v第8章 程序調試與異常處理v第9章 文件操作和流v第10章 多媒體應用設計v第11章 數(shù)據(jù)庫應用設計v第12章 綜合應用設計 Delphi 程序設計第第11章章 數(shù)據(jù)庫應用設計數(shù)據(jù)庫應用設計1.11.1 關系數(shù)據(jù)庫系統(tǒng)概述關系數(shù)據(jù)庫系統(tǒng)概述2.11.2 Delphi數(shù)據(jù)
2、庫應用程序基礎數(shù)據(jù)庫應用程序基礎3.11.3 操縱表中字段操縱表中字段4.11.4 Query和和Database組件組件5.11.5 使用使用ADO組件連接數(shù)據(jù)庫組件連接數(shù)據(jù)庫 Delphi 程序設計11.1 關系數(shù)據(jù)庫系統(tǒng)概述關系數(shù)據(jù)庫系統(tǒng)概述1.11.1.1 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)2.11.1.2 關系模型關系模型3.11.1.3 結構化查詢語言結構化查詢語言SQL4.11.1.4 數(shù)據(jù)庫體系結構簡介數(shù)據(jù)庫體系結構簡介 Delphi 程序設計11.1.1 數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫系統(tǒng)1.數(shù)據(jù)庫(數(shù)據(jù)庫(DataBase,DB)是長期存儲)是長期存儲在計算機外存上的、有結構的、可共享在計算機外存上的
3、、有結構的、可共享的數(shù)據(jù)集合。的數(shù)據(jù)集合。 2.數(shù)據(jù)庫管理系統(tǒng)(數(shù)據(jù)庫管理系統(tǒng)(DBMS)是指數(shù)據(jù)庫系)是指數(shù)據(jù)庫系統(tǒng)中對數(shù)據(jù)庫進行管理的軟件系統(tǒng)。統(tǒng)中對數(shù)據(jù)庫進行管理的軟件系統(tǒng)。 3.數(shù)據(jù)庫系統(tǒng)(數(shù)據(jù)庫系統(tǒng)(DataBase System,DBS)是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用程是由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)、應用程序、數(shù)據(jù)庫管理員、用戶等構成的人序、數(shù)據(jù)庫管理員、用戶等構成的人機機系統(tǒng)。系統(tǒng)。 Delphi 程序設計11.1.2 關系模型關系模型1.關系模型的數(shù)據(jù)結構關系模型的數(shù)據(jù)結構關系關系主關鍵字主關鍵字關系的性質關系的性質關系模式關系模式學生(學號,姓名,性別,省份,地區(qū),出生年月,民
4、族,團員)課程(課程號,課程名,學分)學生成績(學號,課程號,成績) 外關鍵字外關鍵字2.關系模型的數(shù)據(jù)操作與完整性約束關系模型的數(shù)據(jù)操作與完整性約束 Delphi 程序設計11.1.3 結構化查詢語言結構化查詢語言SQL1.SQL語言概述語言概述SQL功能動 詞說 明數(shù)據(jù)定義CREATE、DROP、ALTER創(chuàng)建表、刪除表、修改表數(shù)據(jù)操縱INSERT、UPDATE、DELETE插入、更新、刪除數(shù)據(jù)查詢SELECT查詢數(shù)據(jù)控制GRANT、REVOKE授予權限、收回權限表11.2 SQL語言的動詞 Delphi 程序設計2. 數(shù)據(jù)查詢數(shù)據(jù)查詢1.SELECT語句語法語句語法SELECT ALL
5、| DISTINCT 列表達式列表達式 ,列表達式,列表達式 FROM 表表 WHERE 條件表達式條件表達式 GROUP BY 列列 HAVING 條件表達式條件表達式 ORDER BY 列列 ASC|DESC;2.運算符運算符=、= 、AND、OR 、LIKE 3.集函數(shù)集函數(shù)AVG( ALL | DISTINCT 列名列名) COUNT(*)、COUNT(列名列名)SUM(列名列名) 、MAX(列名列名)、MIN(列名列名) Delphi 程序設計11.1.4 數(shù)據(jù)庫體系結構簡介數(shù)據(jù)庫體系結構簡介1.單機數(shù)據(jù)庫單機數(shù)據(jù)庫AccessParadox 2.客戶客戶-服務器模式的關系數(shù)據(jù)庫系統(tǒng)
6、服務器模式的關系數(shù)據(jù)庫系統(tǒng)客戶客戶-服務器概念服務器概念基于客戶基于客戶-服務器模式的關系數(shù)據(jù)庫系統(tǒng)描述服務器模式的關系數(shù)據(jù)庫系統(tǒng)描述 Delphi 程序設計圖圖11.1 客戶客戶-服務器模式的關服務器模式的關系數(shù)據(jù)庫系統(tǒng)描述系數(shù)據(jù)庫系統(tǒng)描述 窗口窗口服務器端數(shù)據(jù)庫開發(fā)工具客戶端數(shù)據(jù)庫應用程序數(shù)據(jù)庫系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)表用戶數(shù)據(jù)庫管理員(DBA)接口軟件設計人員 Delphi 程序設計11.2 Delphi數(shù)據(jù)庫應用程序數(shù)據(jù)庫應用程序基礎基礎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 程序設計11.2.1 與數(shù)據(jù)與數(shù)據(jù)庫的連接方式庫的連接方式BDE / ADODelphi數(shù)據(jù)庫應用程序本地數(shù)據(jù)庫ODBC本地/遠程數(shù)據(jù)庫Paradox、Access等Access、Sybase、DB2、SQL Server等 Delphi 程序設計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ù)庫向導,創(chuàng)建網(wǎng)格數(shù)據(jù)庫向導,創(chuàng)建網(wǎng)格顯示的數(shù)據(jù)庫應用程序。顯示的數(shù)據(jù)庫應用程序。 Delphi 程序設計圖圖11.4 組件關系與功能圖組件關系與功能圖 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 程序設計11.2.3 數(shù)據(jù)集組件數(shù)據(jù)集組件Table1.Table組件的主要屬性組件的主要屬性DatabaseName指明要訪問的數(shù)據(jù)庫指明要訪問的數(shù)據(jù)庫名或本地數(shù)據(jù)庫的路徑名或本
9、地數(shù)據(jù)庫的路徑TableName指定和組件相連的數(shù)據(jù)庫中指定和組件相連的數(shù)據(jù)庫中表名表名Active打開或關閉數(shù)據(jù)集打開或關閉數(shù)據(jù)集 Delphi 程序設計2. Table組件的主要方法組件的主要方法1.打開打開/關閉數(shù)據(jù)集關閉數(shù)據(jù)集procedure Open();procedure Close();2.改變數(shù)據(jù)集的當前記錄改變數(shù)據(jù)集的當前記錄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 程序設計屬性屬性功能功能BOF當記錄指針位于數(shù)據(jù)集開頭時,屬性值為當記錄指針位于數(shù)據(jù)集開頭時,屬性值為True,否則為,否則為FalseEOF當記錄
11、指針位于數(shù)據(jù)集結尾時,屬性值為當記錄指針位于數(shù)據(jù)集結尾時,屬性值為True,否則為,否則為False Delphi 程序設計3. Table組件的主要事件組件的主要事件Table組件可以響應的事件大致分為三類:組件可以響應的事件大致分為三類: Before+操作名,操作名,After+操作名和操作名和On+操作名操作名BeforeOpen,AfterOpen發(fā)生在數(shù)據(jù)集打開前后發(fā)生在數(shù)據(jù)集打開前后BeforeClose,AfterClose發(fā)生在數(shù)據(jù)集關閉前后發(fā)生在數(shù)據(jù)集關閉前后BeforeInsert,AfterInsert發(fā)生在插入一條新的記錄前后發(fā)生在插入一條新的記錄前后BeforeEd
12、it,AfterEdit發(fā)生在進入發(fā)生在進入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)建新記錄時,用于設置缺省值發(fā)生在創(chuàng)建新記錄時,用于設置缺省值OnCalcFields發(fā)生在計算字段進行計算時發(fā)生在計算字段進行計算時【例【例11.2】 定位與搜索數(shù)據(jù)集。定位與搜索數(shù)據(jù)集。 Delphi 程序設計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當修改字段內容或記錄當修改字段內容或記錄指針移動時觸發(fā)。指針移動時觸發(fā)。OnUpdateData當關系表中當前的記錄被更當關系表中當前的記錄被更新時觸發(fā)新時觸發(fā) Delphi 程序設計11.2.5 數(shù)據(jù)控制組件數(shù)據(jù)控制組件DBGrid和和DBNavigator1.數(shù)據(jù)控制組件的共同屬性數(shù)據(jù)控制組
14、件的共同屬性DataSource指定連接的數(shù)據(jù)源組件指定連接的數(shù)據(jù)源組件Enabled組件是否有效。組件是否有效。ReadOnly指定是否可編輯。指定是否可編輯。2.DBGrid組件組件Columns設置需要顯示的字段及其屬性設置需要顯示的字段及其屬性3.DBNavigator組件組件 Delphi 程序設計11.3 操縱表中字段操縱表中字段1.11.3.1 字段對象字段對象2.11.3.2 操縱字段的數(shù)據(jù)控制組件操縱字段的數(shù)據(jù)控制組件 Delphi 程序設計11.3.1 字段對象字段對象1.創(chuàng)建永久的字段對象創(chuàng)建永久的字段對象2.字段對象屬性和事件字段對象屬性和事件3.引用字段對象引用字段對
15、象通過字段對象名引用永久的字段對象通過字段對象名引用永久的字段對象nTable1Capital.DisplayLabel:= 首都;通過通過Fields屬性的數(shù)組元素引用字段對象屬性的數(shù)組元素引用字段對象nTable1.Fields0.DisplayLabel:= 國家;通過表中的字段名引用字段對象通過表中的字段名引用字段對象nTable1.FieldByName(Capital).DisplayLabel:= 首都;4.自定義字段對象自定義字段對象創(chuàng)建字段對象創(chuàng)建字段對象為為DBGrid添加字段對象添加字段對象 Delphi 程序設計【例【例11.3】 創(chuàng)建計算字段對象。創(chuàng)建計算字段對象。1
16、.創(chuàng)建字段對象創(chuàng)建字段對象Calculate 2.初始化初始化 3.定義計算公式定義計算公式 Delphi 程序設計11.3.2 操縱字段的數(shù)據(jù)控制組操縱字段的數(shù)據(jù)控制組件件1.DBText 字段標簽字段標簽2.DBEdit 字段編輯框字段編輯框3.DBMemo 字段多行字段多行文本編輯框文本編輯框4.DBImage 字段圖像字段圖像組件組件5.DBListBox 字段列字段列表框表框6.DBComboBox 字段字段組合框組合框7.DBCheckBox 字段字段復選框復選框vDBRadioGroup 字段單選按字段單選按鈕組鈕組vDBLookUpListBox 字段查字段查詢列表框詢列表框v
17、DBLookUpComboBox 字段字段查詢組合框查詢組合框vDBRichEdit 字段多行字段多行RTF文文本編輯框本編輯框vDBCtrlGrid 字段顯示網(wǎng)格字段顯示網(wǎng)格vDBChart 字段圖表字段圖表【例【例11.4】 使用使用Delphi數(shù)據(jù)庫向數(shù)據(jù)庫向導,創(chuàng)建按字段顯示的數(shù)據(jù)導,創(chuàng)建按字段顯示的數(shù)據(jù)庫應用程序。庫應用程序。 Delphi 程序設計11.4 Query和和Database組件組件1.11.4.1 使用使用Query組件執(zhí)行組件執(zhí)行SQL語句語句2.11.4.2 使用使用Database組件連接數(shù)據(jù)組件連接數(shù)據(jù)庫庫 Delphi 程序設計1.Query組件組件SQL語
18、句寫在語句寫在Query組件的組件的SQL屬性中屬性中屬性屬性:DatabaseName,SQL,Params方法方法:Open,Close, ExecSQL, ParamByName Delphi 程序設計11.4.1 使用使用Query組件執(zhí)行組件執(zhí)行SQL語句語句【例【例11.5】 按指定字段查詢。按指定字段查詢。 關鍵語句關鍵語句:sqlwhere:= where Capital = +Edit1.Text+;/注意空格和單引號注意空格和單引號Query1.SQL.Clear; /清除原先的清除原先的SQL語句語句Query1.SQL.Add(sqlstr+sqlwhere); /添加添加SQL語句語句Query1.Open; /打開表,執(zhí)行打開表,執(zhí)行SQL語句語句 Delphi 程序設計n動態(tài)動態(tài)SQL與參數(shù)使用與參數(shù)使用SQL中的條件查詢中的條件查詢Query的的Params屬性屬性通過通過Params屬性數(shù)組為參數(shù)賦值屬性數(shù)組為參數(shù)賦值調用調用ParamByName函數(shù)為參數(shù)賦值函數(shù)為參數(shù)賦值連接查詢,使用連接查詢,使用DataSource屬性為參數(shù)屬性為參數(shù)賦值賦值 Delphi 程序設計【例【例11.6】 按任意字段查詢。按任意字段查詢。1.圖形界面設計圖形界面設計 Query1.SQ
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 污水課程設計紫外消毒
- 數(shù)字電路ic課程設計
- 教育培訓行業(yè)教學方法培訓體驗
- 電子課程設計網(wǎng)課答案
- 稅務工作總結制度建設與規(guī)范化監(jiān)督
- 急救護理工作總結
- 貸款經(jīng)理工作總結
- 電信通訊科技行業(yè)技術分析
- 旅游行業(yè)促銷活動總結
- 酒店用品銷售工作總結
- 屋面及防水工程施工(第二版)PPT完整全套教學課件
- 現(xiàn)場生命急救知識與技能學習通期末考試答案2023年
- 第21套操作真題211小題題目
- 《HSK標準教程3》第18課課件
- 聯(lián)通公司集團大客戶業(yè)務開通項目管理實施細則(試行)
- 真空管太陽能熱水工程解決方案
- 公路養(yǎng)護作業(yè)區(qū)安全設施布設規(guī)定詳細
- 昆明天大礦業(yè)有限公司尋甸縣金源磷礦老廠箐-小凹子礦段(擬設)采礦權出讓收益評估報告
- 初中英語中考專題訓練閱讀理解-應用文篇
- 瀝青路面結構監(jiān)理細則
- GB/T 39965-2021節(jié)能量前評估計算方法
評論
0/150
提交評論