




已閱讀5頁(yè),還剩7頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
理學(xué)院畢業(yè)論文第1頁(yè)/共12頁(yè)英文翻譯VisualStudio.NET如何為并發(fā)控制生成SQL語(yǔ)句翻譯:翟靖軒原作者:SteveSteinVisualStudioTeamMicrosoftCorporation2002年2月摘要:這篇文章研究VisualStudio.NET為不同的并發(fā)控制方式所產(chǎn)生的SQL語(yǔ)句,如何對(duì)它們進(jìn)行修改可以提高執(zhí)行效率,以及如何生成不帶并發(fā)控制的SQL語(yǔ)句。目錄引言閱讀此文章時(shí)應(yīng)具備的一些知識(shí)生成的SQL語(yǔ)句在哪里并發(fā)與數(shù)據(jù)適配器(DataAdapter)優(yōu)化生成的SQL語(yǔ)句并發(fā)與CommandBuilder對(duì)象結(jié)論引言任何可能同時(shí)被多個(gè)用戶訪問或修改數(shù)據(jù)的應(yīng)用程序,都需要進(jìn)行并發(fā)控制。否則,一個(gè)用戶更改記錄時(shí)可能不經(jīng)意的覆蓋了其他用戶的更改。VisualStudio.NET的設(shè)計(jì)工具可以生成“保持所有值”方式的開放式并發(fā)SQL語(yǔ)句或生成“最后的更新生效”方式的SQL語(yǔ)句來更新數(shù)據(jù)。這篇文章將解釋:不同的SQL語(yǔ)句是如何生成的如何修改自動(dòng)生成的SQL語(yǔ)句可以提高執(zhí)行效率閱讀此文章時(shí)應(yīng)具備的一些知識(shí)理學(xué)院畢業(yè)論文第2頁(yè)/共12頁(yè)你需要具備以下知識(shí):基本的ADO.NET概念,包括數(shù)據(jù)集(DataSet)以及數(shù)據(jù)適配器(DataAdapters)。更多信息請(qǐng)參見ADO.NET數(shù)據(jù)訪問介紹(IntroductiontoDataAccesswithADO.NET)。數(shù)據(jù)并發(fā)機(jī)制以及會(huì)操作VisualStudio.NET。更多內(nèi)容請(qǐng)參見介紹ADO.NET中的數(shù)據(jù)并發(fā)(IntroductiontoDataConcurrencyinADO.NET)。自動(dòng)生成的SQL語(yǔ)句在哪里自動(dòng)生成的SQL語(yǔ)句在command對(duì)象的CommandText屬性里。在設(shè)計(jì)階段配置DataAdapter對(duì)象時(shí)或使用CommandBuilder對(duì)象時(shí)SQL命令被自動(dòng)生成。更多信息,請(qǐng)參見并發(fā)與CommandBuilder對(duì)象(ConcurrencyandCommandBuilderObjects)。配置DataAdapter對(duì)象從工具箱的數(shù)據(jù)選項(xiàng)卡中拖一個(gè)DataAdapter對(duì)象從服務(wù)器資源管理器拖一個(gè)數(shù)據(jù)表選中已有的DataAdapter對(duì)象,然后單擊在屬性窗口底部的“配置數(shù)據(jù)適配器”鏈接CommandBuilder對(duì)象CommandBuilder對(duì)象在運(yùn)行時(shí)刻被創(chuàng)建,更多信息請(qǐng)參閱SqlCommandBuilder或OleDbCommandBuilder。并發(fā)控制與數(shù)據(jù)適配器(DataAdapter)使用“數(shù)據(jù)適配器配置向?qū)А迸渲脭?shù)據(jù)適配器時(shí),你可以選擇是否使用開放式并發(fā)來生成Update和Delete語(yǔ)句。一些思考和注意事項(xiàng)你的數(shù)據(jù)源必須有一個(gè)主鍵才能以開放式并發(fā)方式生成SQL語(yǔ)句當(dāng)使用從“服務(wù)器資源管理器”拖放一個(gè)數(shù)據(jù)表的方式來創(chuàng)建DataAdapter對(duì)象時(shí),DataAdapter對(duì)象自動(dòng)生成基于開放式并發(fā)的Update和Delete語(yǔ)句。如果你不想使用開放式并發(fā),右擊DataAdapter對(duì)象,從快捷菜單中選擇“配置數(shù)據(jù)適配器”,然后在“高級(jí)SQL生成選項(xiàng)”對(duì)話框中清除“使用開放式并發(fā)”選項(xiàng)的選定。向?qū)t會(huì)重新創(chuàng)建不帶并發(fā)檢測(cè)的SQL語(yǔ)句。理學(xué)院畢業(yè)論文第3頁(yè)/共12頁(yè)當(dāng)重新配置現(xiàn)有的DataAdapter時(shí),應(yīng)注意“高級(jí)SQL生成選項(xiàng)”對(duì)話框里的選項(xiàng)已經(jīng)全部恢復(fù)默認(rèn)。例如最初配置DataAdapter時(shí)沒有選定“使用開放式并發(fā)”選項(xiàng),但是當(dāng)重新配置DataAdapter時(shí),“使用開放式并發(fā)”選項(xiàng)卻會(huì)被選定,即便你根本沒有打開過“高級(jí)SQL生成選項(xiàng)”對(duì)話框。如果你在“數(shù)據(jù)適配器配置向?qū)А钡摹斑x擇查詢類型”頁(yè)面選擇“使用現(xiàn)有的存儲(chǔ)過程”,則“使用開放式并發(fā)”選項(xiàng)將不可用。存儲(chǔ)過程仍按其原來的方式執(zhí)行。如果想使用并發(fā)檢測(cè)的話,必須將其包括到存儲(chǔ)過程中、或在你的應(yīng)用程序中編寫相應(yīng)的代碼。當(dāng)使用開放式并發(fā)來創(chuàng)建SQL命令時(shí),不會(huì)對(duì)二進(jìn)制數(shù)據(jù)列驗(yàn)證進(jìn)行并發(fā)處理。這將導(dǎo)致用這種方法對(duì)大的二進(jìn)制記錄集執(zhí)行按位比較算法時(shí)的效率低下。用向?qū)蒘QL語(yǔ)句為了理解VisualStudio.NET如何使用開放式并發(fā)來生成SQL語(yǔ)句,讓我們來看看用“數(shù)據(jù)適配器配置向?qū)А鄙傻腢pdate語(yǔ)句。我們將查看同一條語(yǔ)句在選擇“使用開放式并發(fā)”選項(xiàng)和不選擇“使用開放式并發(fā)”選項(xiàng)時(shí)的不同狀態(tài)。你會(huì)注意到,選擇開放式并發(fā)與不選擇開放式并發(fā)所生成SQL語(yǔ)句的區(qū)別只存在于Where子句上。注:以下的例子使用用“數(shù)據(jù)適配器配置向?qū)А鄙傻腢pdate語(yǔ)句,并從NorthWind示例數(shù)據(jù)庫(kù)的Customers表中選擇了若干列。使用開放式并發(fā)的Update語(yǔ)句這個(gè)例子使用了“數(shù)據(jù)適配器配置向?qū)А钡哪J(rèn)配置,即選中了“使用開放式并發(fā)”選項(xiàng)。注:當(dāng)使用開放式并發(fā)時(shí),生成的command的參數(shù)集里還存在一個(gè)參數(shù)副本。第二個(gè)參數(shù)集(帶Original_前綴的那個(gè))保存了最初從數(shù)據(jù)源里讀取的值。檢查Where子句發(fā)現(xiàn),每一個(gè)生成的語(yǔ)句都要檢測(cè)數(shù)據(jù)庫(kù)當(dāng)前的值是否等于最初讀取的值(例,WHERECity=Original_City)。通過數(shù)據(jù)庫(kù)中的每個(gè)字段與最初讀取的值相比較,我們很容易確定是否同時(shí)有其他用戶修改了某個(gè)字段。如果Where子句不成立,就沒有記錄會(huì)被修改,與此同時(shí)還引發(fā)了一個(gè)“數(shù)據(jù)庫(kù)并發(fā)”異常。如果數(shù)據(jù)源的某個(gè)字段為理學(xué)院畢業(yè)論文第4頁(yè)/共12頁(yè)空值(NULL),生成的SQL語(yǔ)句同樣驗(yàn)證最初讀取的記錄是否也為空值。UPDATECustomersSETCustomerID=CustomerID,CompanyName=CompanyName,ContactName=ContactName,ContactTitle=ContactTitle,City=CityWHERE(CustomerID=Original_CustomerID)AND(City=Original_CityOROriginal_CityISNULLANDCityISNULL)AND(CompanyName=Original_CompanyName)AND(ContactName=Original_ContactNameOROriginal_ContactNameISNULLANDContactNameISNULL)AND(ContactTitle=Original_ContactTitleOROriginal_ContactTitleISNULLANDContactTitleISNULL);SELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERE(CustomerID=CustomerID)不使用開放式并發(fā)的Update語(yǔ)句這個(gè)例子更改了“數(shù)據(jù)適配器配置向?qū)А钡母呒?jí)選項(xiàng),沒有選中“使用開放式并發(fā)”選項(xiàng)。以下的語(yǔ)句表明:只要數(shù)據(jù)庫(kù)中一條記錄滿足CustomerID=Original_CustomerID,則所有的字段都會(huì)被更新。不管這條記錄現(xiàn)在是什么樣的值,它都將被設(shè)置為通過SQL語(yǔ)句傳遞到數(shù)據(jù)源的值。在這里沒有任何關(guān)于并發(fā)的檢測(cè),也無法得知是否同時(shí)有其它用戶在更改這條記錄。這種方式稱為“最后的更新生效”方式。無論以前對(duì)這條記錄進(jìn)行過什么樣的修改,更新操作都會(huì)執(zhí)行。UPDATECustomersSETCustomerID=CustomerID,CompanyName=CompanyName,ContactName=ContactName,ContactTitle=ContactTitle,City=CityWHERE(CustomerID=Original_CustomerID);SELECTCustomerID,CompanyName,ContactName,ContactTitle,CityFROMCustomersWHERE(CustomerID=Customer
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 刀剪產(chǎn)品的品牌推廣策略與執(zhí)行計(jì)劃考核試卷
- 豬的飼養(yǎng)智能化管理考核試卷
- 竹材加工過程中的質(zhì)量控制考核試卷
- 皮革制品的消費(fèi)心理與購(gòu)買決策考核試卷
- 盾構(gòu)機(jī)施工中的隧道工程地質(zhì)環(huán)境保護(hù)策略考核試卷
- 廈門醫(yī)學(xué)院《心理測(cè)量學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 無錫科技職業(yè)學(xué)院《人體工程學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- 西昌民族幼兒師范高等專科學(xué)?!赌X癱兒童功能評(píng)估》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)化工大學(xué)《語(yǔ)文》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)職業(yè)技術(shù)學(xué)院《外國(guó)文學(xué)作品欣賞》2023-2024學(xué)年第二學(xué)期期末試卷
- 3.2工業(yè)區(qū)位因素及其變化以大疆無人機(jī)為例課件高一地理人教版
- 2024年陜西省中考數(shù)學(xué)試卷(A卷)附答案
- DL-T5190.1-2022電力建設(shè)施工技術(shù)規(guī)范第1部分:土建結(jié)構(gòu)工程
- 財(cái)務(wù)預(yù)算分析表模板
- 中國(guó)高清熒光腹腔鏡行業(yè)市場(chǎng)現(xiàn)狀分析及競(jìng)爭(zhēng)格局與投資發(fā)展研究報(bào)告2024-2034版
- 2024年高考體育單招考試政治重點(diǎn)知識(shí)點(diǎn)歸納總結(jié)(復(fù)習(xí)必背)
- MOOC 大數(shù)據(jù)技術(shù)原理與應(yīng)用-廈門大學(xué) 中國(guó)大學(xué)慕課答案
- 國(guó)企管理人員招聘考試題庫(kù)
- 高血壓與青光眼的關(guān)系
- (2024版)小學(xué)二年級(jí)孩子如何高效復(fù)習(xí)語(yǔ)文知識(shí)點(diǎn)
- asme焊接工藝評(píng)定
評(píng)論
0/150
提交評(píng)論