對于ADO Access數(shù)據(jù)庫游標(biāo)說明
本文主要講述ADO Access數(shù)據(jù)庫,怎樣創(chuàng)建ADO Access數(shù)據(jù)庫項(xiàng)目。這些內(nèi)容都是一些門戶網(wǎng)站和技術(shù)論壇找到的,中間可能有不少錯誤是我沒有挑出的,歡迎大家指正。。。
adopenforwardonly: 僅向前游標(biāo),默認(rèn)值。除了只能在記錄中向前滾動外,與靜態(tài)游標(biāo)相同。當(dāng)只需要在記錄集中單向移動時,使用它可提高性能。(顧名思義,這種游標(biāo)只能向前移動。然而,由于這種游標(biāo)功能有限,將它用于系統(tǒng)資源時是非常有效的。)
adopenkeyset: 鍵集游標(biāo)。盡管從您的記錄集不能訪問其他用戶刪除的記錄,但除無法查看其他用戶添加的記錄外,鍵集游標(biāo)與動態(tài)游標(biāo)相似。ADO Access數(shù)據(jù)庫仍然可以看見其他用戶更改的數(shù)據(jù)。(keyset游標(biāo)允許你看見自它創(chuàng)建起其他用戶所做的修改,然而你卻不能看到其他用戶增加或刪除的記錄。)
adopendynamic :動態(tài)游標(biāo)。可以看見其他用戶所作的添加、更改和刪除。允許在記錄集中進(jìn)行所有類型的移動,但不包括提供者不支持的書簽操作。(此類型的游標(biāo)功能強(qiáng)大同時也是耗費(fèi)系統(tǒng)資源最多的游標(biāo)。ADO Access數(shù)據(jù)庫游標(biāo)可以看到他們保存記錄集合的所有變化。使用dynamic游標(biāo)的用戶可以看到其他用戶所做的編輯、增加、刪除。如果數(shù)據(jù)提供者允許這種類型的游標(biāo),那么它是通過每隔一段時間從數(shù)據(jù)源重取數(shù)據(jù)來支持這種可視性的。毫無疑問這會需要很多的資源。 )
adopenstatic:靜態(tài)游標(biāo)。可以用來查找數(shù)據(jù)或生成報(bào)告的記錄集合的靜態(tài)副本。另外,對其他用戶所作的添加、更改或刪除不可見。(static類游標(biāo)只是數(shù)據(jù)的一幅快照。這就是說,它無法看到自它創(chuàng)建以后其他用戶對recordset所做的修改。采用這類游標(biāo)你可以向前和向后航行。由于其功能簡單,資源的需求比dynamic要小! )
需要注意的是:一旦打開recordset,你就無法改變cursortype屬性。但是,ADO Access數(shù)據(jù)庫如果你首先關(guān)閉recordset,改變cursortype屬性,然后重新打開recordset,那么你仍可以有效地改變游標(biāo)的類型!#t#
在任何同時可被多用戶修改的數(shù)據(jù)庫應(yīng)用程序中,你必須處理可能發(fā)生的多個用戶同時對同一條記錄進(jìn)行操作時的情況。當(dāng)這種情況出現(xiàn)時,數(shù)據(jù)的完整性就會受到威脅,這是因?yàn)橐粋€用戶可能會在不自覺地在保存自己所做的修改時覆蓋他人的修改。到時候你會覺得自己好象是沒有做事。為了處理這種情況。ado允許你在對recordset對象進(jìn)行更新時決定并發(fā)事件控制的類型,當(dāng)一個用戶編輯時,如何由他對記錄進(jìn)行鎖定。這就是由locktype屬性所決定的。這個屬性有四個值:
adlockreadonly:默認(rèn)值,只讀。ADO Access數(shù)據(jù)庫無法更改數(shù)據(jù)。(這是recodset的默認(rèn)值,如果你把鎖定的方式設(shè)為該值,那么你將不能更新 recordset。)
adlockpessimistic:保守式記錄鎖定(逐條)。提供者執(zhí)行必要的操作確保成功編輯記錄,通常采用編輯時立即鎖定數(shù)據(jù)源的記錄的方式。(如果設(shè)置為此類鎖定,記錄被鎖定,且只有在編輯開始到將記錄更新的提交給數(shù)據(jù)提供者這段時間內(nèi)進(jìn)行編輯的用戶才可以訪問! )