




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
會計學1Delphi數據庫高級應用技術10.1
事務處理第1頁/共33頁2.一致性事務是一個完整的單元,因為它保持數據的一致性,將數據從一種數據一致狀態轉換到另一種數據一致狀態。隔離事務是一個隔離單元,允許可并行執行的事務表現得像是在系統中運行的唯一事務。隔離性要求即使同時可能有其他事務正在運行,每個事務也像是操作數據存儲區的唯一事務一樣。事務應從不查看其他事務的中間階段。性.3
持續事務也是一個恢復單元。如果事務成功,則即使在提交后計算機立即崩潰,系統仍將保證更新該事務。專用記錄允許系統的重新啟動過程完成未完成的操作,以使事務可持續。性.410.1
事務處理第2頁/共33頁1中1ihpleD.10事0.中務.1控1.制.3的3D方De式ellpphhii中事務控制的方式有在兩默種認顯情式況控下制,通務有方為式應::程序提供隱式事務控,。當應用程序處于隱式事務控制時,為數據集中的每個記錄的寫操作進行隱式事務控制。它提交每一個獨立的寫操作,如和。droceRdneppAtsoPihpleD。制控務事式顯是種一制制控務事式隱是種一用種ODA兩過Delphi式方的制控務事ihpleD一種是使用組件事如)所提供的方法和屬性進行事務控制。到支持事務的數據庫服務器進行事務控制。許多數據庫都提供自己的事務處理方式。itcennoCODATon(ihpleD另一種是直接發送SQL命令10.1
事務處理第3頁/共33頁2.使用控TADOConnection(制1)事務處理過程通常事務處理有以下這樣一個過程:開eginTrans;///try/B捕始捉一異個常新事務處理數據庫更新操作(如、、等)etadputresnieteled..
操作成功,提交事務//;snarTtimmoC.異xcept//s//;RollBackTrane操常作處失理敗,回退事務end;10.1
事務處理第4頁/共33頁(開)2始開一始個一事個務事使務用BeginTrans方法。當開始一個事務時,后來的所有讀寫數據庫的操作都發生在那次事務的環境中使,用直例到句:事務被明確地終止或提交了新事務。(3)提交一個事務OConnection1.BeginTransDBeginTransL;evel:=A方法返回該事務的嵌套級別。tTransCADOConnection1.ommi例如,下列語句將終止在上例中開始的事務:為了做永久性修改,事務完成后必須使用CommitTrans方法提交。(為)4了回取退消一對個數事據務庫的修改,必須用RollbackTrans方法回退一個事務。10.1
事務處理第5頁/共33頁eRollrback.ans;ADOConnTction1例如:下列語句將回退一個事務:ckTrans;ennoCODAticon1.Rollba(判)5斷判是斷否是正否在正處在理處事理務事,務可以通過InTransaction屬性。
例:itennoCODAFIcNEHTnoitcasnarTnI.1no()使用屬性leveLnoialIsto6IsolationLevel屬性描述TADOConnection組件事務的獨立級別,事務的獨立級別決定了事務與其它作用于相同表的事務是如何相互作用的。10.1
事務處理第6頁/共33頁1100.下.1面1.以.4一4事個簡務單的處例子理說明的事務實的處例理過程。【【實例現對步組驟件】使用的是默認的隱含事務控制,在表格修改一條記錄后,當記錄指針移動以后,數據就被寫入到數據庫中了。若表格很大、修改項目又很多時,如果中途想要放棄所作的修改,很難使表格恢復原樣。這時就可以使用事務處理來解決這樣的問題。編程實現對數據庫的表的事務操作。eeyolpmebdm.somedbddirGBDTihpleD1-01】首先建立應用程序。.12.定制窗體10.1
事務處理圖10-1程序設計界面第7頁/共33頁10.1
事務處理表10-2各組件屬性設置組件名屬性屬性值說明ADOConnection1ConnectionString使用ConnectionString設置對話框設置該屬性,連接到數據庫dbdemos.mdb。ADOTable1ConnectionADOConnection1指定使用的數據連接組件。TableNameemployee指定打開的數據表名ActiveTrue打開數據集。DataSource1DataSetADOTable1指定使用的數據集。DBGrid1DataSourceDataSource1為表格指定數據源。ReadOnlyTrue表格設置為只讀btnBeginCaption開始事務EnableTrue允許使用按鈕btnCommitCaption提交事務EnableFalse禁止使用按鈕btnRollBackCaption回退事務EnableFalse禁止使用按鈕btnCloseCaption關第閉8頁/共33頁EnableTrue允許使用按鈕10.1
事務處理編3.4.程寫序啟動代執碼行程分序析后,點擊【開始事務】按鈕,在表格中修改幾條記錄,然后點擊【提交事務】按鈕,關閉程序后重新進入,會發現修改內容已寫入數據庫中。點擊【開始事務】按鈕,在表格中修改幾條記錄,然后點擊【回退事務】按鈕,關閉程序后重新進入,再次查看表格內容,會發現數據庫沒有被修改。第9頁/共33頁10.2
使用存儲過程第10頁/共33頁1100.存.2儲2.過.1程1存()dureostredproce儲是一過組預程先編概譯好述的SQL代碼。存儲過程作為一個獨立的數據庫對象,可以作為一個單元被用戶的應用程序調用,它在服務器上執行一系列重復性的與數據庫相關的任務,并將結果傳給客戶應用程序。由于存儲過程是已經編譯好的代碼,所以執行的時候不必再次進行編譯,從而提高了程序的運行效率。1100..22..22直存理管和用.1使儲接過程執的應行用程SSQQLL命序令來使用和管理存儲過程【例建立一個使用和管理存儲過程的應用程序。使用的示例數據庫。SBUPrevreSLQSSM2-01】10.2
使用存儲過程【(實1)現首步先驟建】立應用程序。(2)定制窗體圖10-2程序設計界面第11頁/共33頁10.2
使用存儲過程第12頁/共33頁組件名屬性屬性值說明ADOConnection1ConnectionString使用ConnectionString設置對話框設置該屬性,建立到數據庫dbdemos.mdb的連
接。ADOQuery1ConnectionADOConnection1指定使用的數據連接組件。DataSource1DataSetADOQuery1指定使用的數據集。DBGrid1DataSourceDataSource1為表格指定數據源。ReadOnlyTrue設置為只讀Button1Caption新建存儲過程、修改存儲過程、刪除存儲過程Button2Caption執行存儲過程Memo1Lines為空Label1Caption輸入SQL命令Label2Caption顯示存儲過程執行結果表10-3各組件屬性設置10.2
使用存儲過程第13頁/共33頁表10-3各組件屬性設置10.2
使用存儲過程第14頁/共33頁2.使用和管理存儲過程的SQL命令(創)1建創存建儲存過儲程過的程簡單語法如下:]n...,[]]TUPTUO[]tluafed=[]GNIYRAV[}epyt_atadretemarap@{[]rebmun;[eman_erudecorp]ERUDE[CORPETAERC]}NOITPYRCNE,ELIPMOCER|NOITPYRCNE|ELIPMOCER{HTIW[
SA]NOITACILPERROF[sql_statement[...n]10.2
使用存儲過程第15頁/共33頁(2)執直行接存執儲行過存程儲過程可以使用EXECUTE命令來執行。在Memo1的編輯框中輸入:EXECoakland_authors點擊按鈕“執行存儲過程”以執行存儲過程akland_authorso,結果將顯示在BDGrid1表格中。
或and_auathorsEXECUTEokl(存儲過程可以根據用戶的要求或者基表定義的改變而改變。使用語句可以更改先前通過執行語句創建的過程,但不會更改權限,也不影響相關的存儲過程或觸發器。ERUDECORPETAERCERUDECORPRETLA程過儲存改修3)10.2
使用存儲過程第16頁/共33頁Tnumb]erAL;ERPROC[EDURE]procedure_name[其語法形式如下:]n...,[]]TUPTUO[]tluafed=[]GNIYRAV[}epyt_atadretemarap@{[]NOITACILPERROF[]}NOITPYRCNE,ELIPMOCE|NOITPYRCNE|ELIPMOCER{HTIW[ASsql_statement[...n]下面對存儲過程oakland_authors進行修改,使其能夠顯示出所有居住在加里福尼亞的作者,而不考慮其它地區居住的作者。10.2
使用存儲過程第17頁/共33頁cand_authorsalterproedureoakl修改存儲過程的代碼如下:
sanoitpyrcnehtiwsrohtuamorfpiz,ytic,sserdda,emanl_ua,emanf_uatceles()刪除存儲過程4
e="ca"orderbyautlname,au_fwamehe_resatn刪除存儲過程可以使用命令,命令可以將一個或者多個存儲過程或者存儲過程組從當前數據庫中刪除…其語法形式如下:]noorp{erudecrpporde,[}erudc,PORDPORD10.2
使用存儲過程第18頁/共33頁puthoraoenrudecorspordklad_a(如)將帶存參儲數過的程存orshloakand_aut從儲數過據程庫中刪除,則在1omeM的編輯框中輸入以下代碼:本存5儲過過程中使用了輸入參數。程使用兩種類型的參數,一種是輸入參數,另一種是輸出參數。不使用OUTPUT保留字的參數是輸入參數,使用OUTPUT保留字的參數是輸出參數。輸入參數是單向的,而輸出參數是雙向的,可以向調用者返回值。例的存儲 )02(rahcravemantsrif@,)04(rahcravemantsal@rofni_rohtuaerudecorpetaercenohp,emanf_ua,emanl_uatcelessa
emantsal@=emanl_uadnaemantsrif@=emanf_uaerehwsrohtuamorf10.2
使用存儲過程第19頁/共33頁1組1P.1corderotSODAT0件0.組簡.2介2..33用AADDOO組件操作存儲過程()的關鍵屬性作遠程服務器上的數據庫中的存儲過程。是一個數據集組件,數據集組件所具有的公共屬性、方法和事件,在都具有。eAODStordProcAODcrPderotSOoDA操于用要TAOSoredProcD主1件rcorPdeTotSODA??屬性noitcennoCevitcA??屬性retliFgnirtSnoitcennoC??FilteredParameters屬性ProcedureName屬性10.2
使用存儲過程第20頁/共33頁()2Open屬關性鍵方法??屬性hserfeResolCoceRtxNtesdre屬性組TcorPderotSODA2.【件例建】10-3的立使一用個用和管理存儲過程的應用程序。使用的示例數據庫。PSBUSLQSSMrevre【1實首現先步建驟立】使序。()定制窗體應用程210.2
使用存儲過程圖10-5程序設計界面第21頁/共33頁10.2
使用存儲過程第22頁/共33頁組件名屬性屬性值說明ADOConnection1ConnectionString使用ConnectionString設置對話框設置該屬性,連接到數據庫Pubs。ADOStoredProc1ConnectionADOConnection1指定使用的數據連接組件。ProcedureNameauthor_infor;1指定使用的存儲過程名DataSource1DataSetADOStoredProc1指定使用的數據集。DBGrid1DataSourceDataSource1為表格指定數據源。ReadOnlyTrue設置為只讀Button1Caption執行存儲過程Gropbox1Caption傳入參數Label1CaptionLastNameLabel2CaptionFirstNameEdit1Text為空Edit2Text為空表10-4各組件屬性設置10.2
使用存儲過程(34)編運寫行代程碼序圖10-6執行結果第23頁/共33頁10.3
主從結構的數據庫應用程序第24頁/共33頁【例使有-401】用時自我們需要將數據表格聯系起來,這些表格具一種一對多的關系。比如客戶表和訂單表,一個客戶可能會有許多訂單。當我們瀏覽客戶訂貨信息時,希望在客戶表選擇一個客戶后,能夠顯示該客戶的所有訂單。利用eDlphi可以方便地設計出主從表結構的應用程序。【1實首現先步建驟立】應的用數據庫中的表和表建立一個程序,實現主從表。為主表,為從表,兩表之間通過字段鏈接。uoNtsCsredrOremotsuc/rsredOtsucremoomedbdbdm.ssseccA帶Dihple()創建數據模塊程序。210.3
主從結構的數據庫應用程序圖10-7數據模塊設計界面第25頁/共33頁10.3
主從結構的數據庫應用程序第26頁/共33頁組件名屬性屬性值說明ADOConnection1ConnectionString使用ConnectionString設置對話框設置該屬性,連接到數據庫dbdemos.mdb。ADOTable1ConnectionADOConnection1指定使用的數據連接組件。TableNameCuctomer指定打開的數據表名ActiveTrue打開數據集。DataSource1DataSetADOTable1
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經營資質協議書
- 用他人名字開店協議書
- 合伙人入股合同協議書
- 租賃用電協議書
- 聯盟成員協議書
- 脫離親子協議書
- 送養人和協議書
- 夫妻間房屋繼承協議書
- 聯營合作協議書
- 電影贊助商合同協議書
- GB/T 21618-2008危險品易燃固體燃燒速率試驗方法
- 西安市非學歷培訓機構公示表
- QTZ1000塔機總體方案和平頭式平衡臂結構設計及起升機構校核計算
- 蓋梁穿心鋼棒法受力分析計算書
- T∕CAME 27-2021 醫院物流傳輸系統設計與施工規范
- YY∕T 1849-2022 重組膠原蛋白
- 三平寺簽詩解全75首上
- (高清版)《預應力筋用錨具、夾具和連接器應用技術規程》JGJ85-2010
- 后張法預應力空心板梁施工方案
- 師德師風年度考核表
- 健康險產說會課件
評論
0/150
提交評論