![DelphiSQLServer開發(fā)與編程課件_第1頁](http://file4.renrendoc.com/view11/M02/14/3D/wKhkGWeQ20eATX-2AAC7C-X50ME618.jpg)
![DelphiSQLServer開發(fā)與編程課件_第2頁](http://file4.renrendoc.com/view11/M02/14/3D/wKhkGWeQ20eATX-2AAC7C-X50ME6182.jpg)
![DelphiSQLServer開發(fā)與編程課件_第3頁](http://file4.renrendoc.com/view11/M02/14/3D/wKhkGWeQ20eATX-2AAC7C-X50ME6183.jpg)
![DelphiSQLServer開發(fā)與編程課件_第4頁](http://file4.renrendoc.com/view11/M02/14/3D/wKhkGWeQ20eATX-2AAC7C-X50ME6184.jpg)
![DelphiSQLServer開發(fā)與編程課件_第5頁](http://file4.renrendoc.com/view11/M02/14/3D/wKhkGWeQ20eATX-2AAC7C-X50ME6185.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
Delphi/SQLServer開發(fā)與編程13.1Delphi資料庫應(yīng)用程式設(shè)計(jì)
13.1.1Delphi資料庫應(yīng)用程式結(jié)構(gòu)Delphi7資料庫應(yīng)用程式在邏輯上通常由兩部分構(gòu)成:一是資料庫訪問鏈路,二是用戶介面,如圖13.1所示。1.用戶介面用戶介面使用在窗體上放置數(shù)據(jù)顯示/編輯組件的方式來實(shí)現(xiàn),數(shù)據(jù)顯示/編輯組件在Delphi7組件面板的DataControls頁中。13.1.1Delphi資料庫應(yīng)用程式結(jié)構(gòu)2.數(shù)據(jù)源數(shù)據(jù)源組件是數(shù)據(jù)顯示組件和數(shù)據(jù)集組件之間的仲介,數(shù)據(jù)集從資料庫獲得數(shù)據(jù)後,將其發(fā)送到數(shù)據(jù)源,然後數(shù)據(jù)源將數(shù)據(jù)送到介面上的數(shù)據(jù)顯示組件進(jìn)行顯示。3.數(shù)據(jù)集數(shù)據(jù)集是資料庫應(yīng)用程式的核心。數(shù)據(jù)集組件保存了一系列從底層的資料庫取出的記錄。這些記錄的數(shù)據(jù)可以取自一個數(shù)據(jù)表、一個數(shù)據(jù)表的若干個字段、多個數(shù)據(jù)表的若干字段。4.連接部分不同類型的數(shù)據(jù)集採用不同的機(jī)制連接底層資料庫。常見的有BDE和ADO方式。5.數(shù)據(jù)模組數(shù)據(jù)模組用於放置資料庫組件,相當(dāng)於一個容器。通過數(shù)據(jù)模組組件來組織資料庫組件有以下二個主要的優(yōu)點(diǎn):一是這些不可視組件不用直接放在窗體上了,簡化了窗體的設(shè)計(jì)。二是可以對數(shù)據(jù)庫相關(guān)組件進(jìn)行統(tǒng)一管理,共用相同的內(nèi)容。13.1.2ADO組件ADO組件位於組件面板的ADO頁,如圖13.2所示。1.ADOConnection組件
ADOConnection組件的主要作用是建立與資料庫的連接。使用ADO訪問資料庫,必須先與其連接。
ADOConnection組件通過ConnectionString屬性的設(shè)置和操作建立與資料庫的連接。13.1.2ADO組件(1)向當(dāng)前窗體上添加一個ADOConnection組件並選中這個組件,在對象流覽器中雙擊這個組件的ConnectionString屬性,彈出如圖13.3所示的對話框;選中UseConnectionString,單擊
“Build…”按鈕。13.1.2ADO組件(2)系統(tǒng)將彈出“資料鏈接屬性”對話框,如圖13.4所示。對於SQLServer2000資料庫,選擇“MicrosoftOLEDBProviderforSQLServer”,單擊“下一步>>”按鈕。13.1.2ADO組件(3)在所出現(xiàn)的如圖13.5所示的“資料鏈接屬性”對話框的“連接”頁上輸入資料庫伺服器名稱、輸入伺服器登錄資訊、選擇資料庫名稱,然後點(diǎn)擊“測試”,若所設(shè)置的屬性正確,則將出現(xiàn)如圖13.6所示的測試連接成功對話框。13.1.2ADO組件2.ADODataSet組件
ADODataSet組件的主要屬性有ConnectionString、Connection、CommandText和CommandType。(1)ConnectionString屬性ConnectionString屬性用來指明資料庫連接資訊。(2)Connection屬性Connection屬性用來指明ADO組件與資料庫聯(lián)繫的方式。(3)CommandText屬性CommandText屬性用於存儲SQL語句、數(shù)據(jù)表名或存儲過程名。13.1.2ADO組件(4)CommandType屬性
CommandType屬性用於指出CommandText中所存儲的命令類型,常用的CommandType屬性值的含義列於表中。常用值含義CmdTextCommandText存儲的是SQL命令CmdTableCommandText存儲的是數(shù)據(jù)表名CmdStoredProcCommandText存儲的是存儲過程名CmdTableDirectCommandText存儲的是數(shù)據(jù)表名,並且數(shù)據(jù)表所有字段都會回傳在結(jié)果的數(shù)據(jù)集中。13.1.2ADO組件3.ADOTable組件
ADOTable組件主要用來從單個數(shù)據(jù)表中讀取數(shù)據(jù),它的主要屬性有ConnectionString、Connection和TableName。4.ADOQuery組件它的主要屬性有ConnectionString、Connection、DataSource、SQL和Parameters。ConnectionString和Connection屬性的含義與使用同ADODataSet組件。5.ADOStoredProc組件它的主要屬性有ConnectionString、Connection、DataSource、ProcedureName和Parameters。DataSource指出數(shù)據(jù)源名稱,ProcedureName是需執(zhí)行的存儲過程名,Parameters存儲的是執(zhí)行存儲過程所需的參數(shù)。6.ADOCommand組件它的主要屬性有ConnectionString、Connection、CommandText、CommandType,這些屬性的含義和使用方法同ADODataSet組件。13.1.3數(shù)據(jù)源組件和數(shù)據(jù)顯示/編輯組件
數(shù)據(jù)源組件數(shù)據(jù)源組件位於組件面板的DataAccess頁上,如圖13.7所示。數(shù)據(jù)源組件在ADO數(shù)據(jù)集組件(包括ADODataSet、ADOTable、ADOStoredProc和ADOQuery等)與數(shù)據(jù)顯示/編輯組件之間提供了一個介面,起著兩者之間通信的媒介作用。數(shù)據(jù)源組件的主要屬性是DataSet,用於指出數(shù)據(jù)集。13.1.3數(shù)據(jù)源組件和數(shù)據(jù)顯示/編輯組件2.數(shù)據(jù)顯示/編輯組件組件面板的DataControls頁中的組件主要用於顯示或編輯數(shù)據(jù)源提供的數(shù)據(jù),如圖13.8所示。常用的數(shù)據(jù)編輯/顯示組件是DBGrid、DBNavigator、DBText、DBEdit、DBMemo和DBImage組件等。1)DBGrid組件DBGrid組件採用網(wǎng)格的方式顯示數(shù)據(jù)表中指定字段的數(shù)據(jù),並能夠讓用戶編輯這些數(shù)據(jù)。表13.2列出了DBGrid組件的主要屬性值及含義。DBGrid組件的事件列於表13.3中。13.1.3數(shù)據(jù)源組件和數(shù)據(jù)顯示/編輯組件屬性含義DataSource該屬性指定DataAccess組件的數(shù)據(jù)源,通過這個數(shù)據(jù)源DataControl組件才能訪問資料庫中的數(shù)據(jù)。該屬性一般可以通過下拉菜單進(jìn)行選擇Columns該屬性是TColumn對象的集合,該集合中的每一個對象均有一個索引值,用以指定DBGrid中的列和DataSource相聯(lián)系的數(shù)據(jù)集組件中字段的對應(yīng)關(guān)係FixedColor該屬性指定DBGrid邊框的顏色(滾動條的顏色不會改變)Options該屬性描述了DBGrid的性質(zhì)TitleFont該屬性設(shè)置表格中的標(biāo)題的字體事件名含義OnCellClick該事件在滑鼠選中表中的單元格並釋放滑鼠右鍵時被觸發(fā)OnColEnter該事件在焦點(diǎn)移向新的單元格的時候被觸發(fā)OnColExit該事件在焦點(diǎn)離開單元格之前被觸發(fā)OnColumnMoved該事件當(dāng)用戶用滑鼠移動表格的列時被觸發(fā)OnDragDrop該事件當(dāng)用戶放下一個拖動的對象時被觸發(fā)OnDragOver當(dāng)用戶拖動一個對象到組件之上時被觸發(fā)
13.1.3數(shù)據(jù)源組件和數(shù)據(jù)顯示/編輯組件2)DBNavigator組件DBNavigator組件主要用來執(zhí)行在數(shù)據(jù)集中流覽數(shù)據(jù)和編輯數(shù)據(jù)的操作,如記錄定位、插入記錄、刪除記錄、保存用戶對記錄的修改等。DBNavigator的外觀見圖13.9,各個按鈕功能描述見表13.4。提示資訊功能描述Firstrecord資料庫中的指針位置指向第一條記錄Prio
rrecord使資料庫中的指針位置指向當(dāng)前位置的前一條記錄Nextrecord使資料庫中的指針位置指向當(dāng)前位置的後一條記錄Lastrecord使資料庫中的指針位置指向最後一條記錄Insertrecord向資料庫中插入一條記錄Deleterecord刪除資料庫中的一條記錄Editrecord使資料庫中的記錄處於編輯狀態(tài)Postrecord提交對數(shù)據(jù)庫作的修改Canceledit關(guān)閉編輯狀態(tài),回到流覽狀態(tài)Refreshdata刷新數(shù)據(jù)控制組件中的數(shù)據(jù)13.1.3數(shù)據(jù)源組件和數(shù)據(jù)顯示/編輯組件DBNavigator組件的主要屬性有:(1)DataSource:通過這個屬性使本組件與被其控制的數(shù)據(jù)集聯(lián)繫起來。(2)VisibleButtons:nbFirst、nbPrior、nbNext、nbLast、nblnsert、nbDelete、nbEdit、nbPost、nbCancel、nbRefresh這10個子屬性分別對應(yīng)著10個按鈕,不同的組合使DBNavigator組件顯示出不同的狀態(tài)。(3)Hints:程式運(yùn)行時,滑鼠移至DBNavigator某按鈕時彈出的提示資訊,通過單擊Hints屬性右邊的省略號可以進(jìn)入提示資訊編輯對話框。(4)ShowHint:為True時,能在運(yùn)行時刻顯示提示資訊。(5)Visible:決定在運(yùn)行中DBNavigator組件是否可見。3)DBText組件
DBText組件主要用於顯示數(shù)據(jù)集中的字段類型為文本型的字段值,該組件不能用於編輯資料庫中的數(shù)據(jù)。
DEText的WordWrap屬性設(shè)置為True時,允許當(dāng)所顯示值的長度超過DBText設(shè)計(jì)時的長度時折行顯示。13.1.3數(shù)據(jù)源組件和數(shù)據(jù)顯示/編輯組件4)DBEdit組件該組件能顯示和編輯數(shù)據(jù)源中記錄的字段,可以參照DBText組件來建立DBEdit在資料庫應(yīng)用程式中的應(yīng)用。5)DBMemo組件在DBGrid中不能顯示數(shù)據(jù)類型為Graph和Memo字段中的內(nèi)容,可以使用DBMemo及DBImage分別顯示字段中的內(nèi)容。6)DBImage組件DBImage組件提供了一種顯示資料庫中的圖像字段的方法,例如SQLServer的Image類型字段,即可用該組件顯示。表13.5列出了DBImage組件的主要屬性和方法。屬性和方法含義AutoDisplay決定是否在運(yùn)行時自動顯示圖形。Stretch為True時,通過DBImage組件顯示的圖形將根據(jù)DBImage組件的大小自動調(diào)整尺寸。CopyToClipboard該過程將把當(dāng)前TDBImage組件中顯示的圖形複製到剪貼板上。CutToClipboard該過程可以把當(dāng)前TDBImage中的圖形剪貼到剪貼板上。LoadPicture該過程將從一個檔中加載圖片到當(dāng)前的TDBImage組件中。PasteFromClipboard該過程將剪貼板上的內(nèi)容粘貼到當(dāng)前TDBImage組件中。13.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫創(chuàng)建數(shù)據(jù)模組(1)啟動Delphi7;(2)在主菜單中選擇file
New
DataModule,將新建數(shù)據(jù)模組的Name屬性置為“DMCP”,如圖13.10所示,此時將新建一個空數(shù)據(jù)模組DMCP,如圖13.11所示。13.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫2.向數(shù)據(jù)模組中添加連接組件(1)在“ADO”組件面板上選擇“ADOConnection”組件,將其放入DMCP;(2)將ADOConnection組件的Name屬性設(shè)置為“ADOCP”,如圖13.12所示;(3)設(shè)置ADOCP的ConnectionString屬性,選擇圖13.12中“ConnectionString”屬性右邊的文本框,點(diǎn)擊按鈕,將出現(xiàn)圖13.13所示的設(shè)置連接串對話框;13.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫(4)選擇“UseConnectionString”,單擊“Build…”按鈕;在其中選擇“MicrosoftOLEDBProviderforSQLServer”,單擊“下一步”;(5)在所出現(xiàn)的介面中輸入資料庫伺服器名、選擇身份認(rèn)證方式、選擇資料庫CPXS,單擊“確定”。(6)在圖13.12所示的介面中將ADOCP組件的LoginPrompt屬性設(shè)置為False。13.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫【例13.1】在Delphi7中設(shè)計(jì)程式將XSBOOK資料庫中BOOK表的所有記錄顯示出來。設(shè)計(jì)步驟如下:(1)按圖13.15所示設(shè)計(jì)介面:在窗體中放置一個Label組件,其Caption屬性為“圖書資訊”;然後在放置1個ADOConnection、1個DataSource、1個ADOTable和1個DBGrid組件,這4個組件的屬性按表13.6設(shè)置。組件類型組件名屬性名設(shè)置值A(chǔ)DOConnectionADOConnection1ConnectionString由生成器生成連接字串LoginPromptFalseADOTableADOTable1
ConnectionADOConnection1TableNamexsActiveTrueDataSourceDataSource1DataSetADOTable1DBGridDBGrid1DataSourceDataSource113.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫(2)單擊運(yùn)行按鈕,運(yùn)行該程式。【例13.2】直接在窗體中放置數(shù)據(jù)訪問組件,創(chuàng)建一個簡單資料庫應(yīng)用程式。(1)選擇主菜單下的File
New
Application,創(chuàng)建一個應(yīng)用程式。(2)從DataAccess頁上將一個數(shù)據(jù)源組件DataSource拖放到主窗體上。數(shù)據(jù)源組件在組件面板上位置如圖13.16所示。(3)從BDE頁上將一個數(shù)據(jù)表組件Table拖放到主窗體上。數(shù)據(jù)表組件在組件面板上位置如圖13.17所示。13.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫(4)從DataControl頁上將一個表格顯示組件DBGrid和一個數(shù)據(jù)流覽組件DBNavigator拖放到主窗體上。(5)按表13.7設(shè)置各組件對象的屬性。主窗體如圖13.19所示。組件類型組件名屬性名設(shè)置值窗體(Form)FormDBAppCaption第1個Delphi資料庫應(yīng)用
數(shù)據(jù)表(Table)
TabStuDatabaseNameXSCJTableNamexs.dbActiveTrue數(shù)據(jù)源(DataSource)DSStuDataSetTabStu表格顯示(DBGrid)GrdStuDataSourceDSStu數(shù)據(jù)流覽(DBNavigator)NagStuDataSourceDSStu13.2設(shè)計(jì)數(shù)據(jù)模組連接資料庫(6)運(yùn)行程式?,F(xiàn)在就可以直接在DBGrid上添加、修改、刪除數(shù)據(jù)。例13.2所創(chuàng)建的就是一個基本數(shù)據(jù)維護(hù)的應(yīng)用程式,不用書寫任何程式代碼。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人承包弱電項(xiàng)目合同范例
- 倉儲門面合同范例
- 創(chuàng)意合作合同范例
- 供石居間合同范例
- 中介與工廠合同范例
- 伊力牛奶經(jīng)銷合同范例
- 亞馬遜倉庫轉(zhuǎn)讓合同范本
- 與小區(qū)合作合同范例
- 出店入股合同范例
- 出錢不出力寫合同范例
- 2025年熱管換熱氣行業(yè)深度研究分析報(bào)告
- 2025年陜西西安市經(jīng)濟(jì)技術(shù)開發(fā)區(qū)管委會招聘30人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025山東能源集團(tuán)中級人才庫選拔高頻重點(diǎn)提升(共500題)附帶答案詳解
- 《安利蛋白質(zhì)粉》課件
- 【可行性報(bào)告】2024年數(shù)據(jù)標(biāo)注與審核項(xiàng)目可行性研究分析報(bào)告
- 2024-2025學(xué)年滬科版數(shù)學(xué)七年級上冊期末綜合測試卷(一)(含答案)
- 2025門診護(hù)理工作計(jì)劃
- 《針法灸法》課件-溫灸器灸
- 電氣領(lǐng)域知識培訓(xùn)課件
- 山東省部分學(xué)校2024-2025學(xué)年高一上學(xué)期12月選科指導(dǎo)聯(lián)合測試地理試題( 含答案)
- 《淄博張店區(qū)停車問題治理現(xiàn)狀及優(yōu)化對策分析【開題報(bào)告+正文】15000字 》
評論
0/150
提交評論