溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么正確操作ADO數(shù)據(jù)庫

發(fā)布時間:2021-12-04 15:29:00 來源:億速云 閱讀:216 作者:iii 欄目:編程語言

這篇文章主要講解了“怎么正確操作ADO數(shù)據(jù)庫”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“怎么正確操作ADO數(shù)據(jù)庫”吧!

一、要完成本文中的實例,您需要作如下準(zhǔn)備:

將Visual Studio 2008及.NET Framework 3.5升級到SP1。點擊轉(zhuǎn)到升級地址。 安裝SQL SERVER 2005,VS 2008中自帶的EXPRESS版的SQL SERVER應(yīng)該也可以用。 下載并附加數(shù)據(jù)庫:點擊下載DemoDbV2。 創(chuàng)建一個VB Console Application,并且取一個合適的名字(例如:Concurrency之類的)。注意,目標(biāo)Framework要設(shè)置成3.5版。

二、什么是并發(fā)沖突

讓我們來看一個跟取款相關(guān)的例子:某年某月某日某時某分,ADO數(shù)據(jù)庫老王在A取款機取錢,他兒子小王同時在B取款機取錢(不要問我為什么這么巧^_^),他倆從同一個賬號上取。于是就發(fā)生了如下一序列的操作:

A取款機向中央數(shù)據(jù)庫提問:這賬上還有多少錢?

B取款機向中央數(shù)據(jù)庫詢問:這賬上還有多少錢? 中央數(shù)據(jù)庫回答A取款機:2W,中央數(shù)據(jù)庫回答B(yǎng)取款機:2W,然后,ADO數(shù)據(jù)庫老王對A取款機說:我要取出1.5W。 同時,小王對B取款機說:我要取出1.8W。

  • 分析ADO.NET操作設(shè)置有效說明介紹

  • 進行ADO.NET數(shù)據(jù)庫具體操作分析

  • 新建選擇ADO.NET Entity 項目進行詳細(xì)剖

  • 專家簡介ADO.NET Entity Framework對象關(guān)

  • 進行下一代的ADO.NET圖示說明


A取款機就算了一下,2W-1.5W=0.5W>0,于是就吐出1.5W現(xiàn)金給了老王,并且準(zhǔn)備告訴中央數(shù)據(jù)庫,現(xiàn)在還剩0.5W啦。但是,就在它告訴中央數(shù)據(jù)庫之前,發(fā)生了以下的事情:

B取款機計算了一下,2W(此時,它還不知道余額已經(jīng)成0.5W了,因為A取款機還沒有告訴中央數(shù)據(jù)庫)減去1.8W等于0.2W大于0,于是就吐出1.8W現(xiàn)金給了小王。然后,ADO數(shù)據(jù)庫當(dāng)然也要知會中央數(shù)據(jù)庫。

中央數(shù)據(jù)庫于是收到A取款機的消息,說,這個賬號還剩0.5W,于是刷新余額為0.5W。然后又收到B取款機說還剩0.2W,于是,就刷新余額為0.2W。 呵呵,于是,小王+老王的賬戶里一共存有2W元,結(jié)果老王取了1.5W元,小王取了1.8W元,賬戶里卻還剩了0.2W元。

這就是一種并發(fā)沖突,由于同一時間有兩個或者多個端在對同一數(shù)據(jù)進行操作,ADO數(shù)據(jù)庫從而導(dǎo)致數(shù)據(jù)發(fā)生了錯誤。如果取款機真的以這樣的方式來處理并發(fā),那么,我現(xiàn)在就不寫這片文章了——趕緊發(fā)動全家對表,說好了在某一時刻同時取錢去。

感謝各位的閱讀,以上就是“怎么正確操作ADO數(shù)據(jù)庫”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對怎么正確操作ADO數(shù)據(jù)庫這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

ado
AI