進(jìn)行詳細(xì)剖析ADO.NET記錄集相關(guān)介紹
希望我對(duì)ADO.NET記錄集的一點(diǎn)經(jīng)驗(yàn)?zāi)芙o大家?guī)?lái)幫助,導(dǎo)致WebDeployment出錯(cuò)的原因也許還有很多,不過(guò)在你遇到錯(cuò)誤時(shí),可以先檢查一下你程序中的字符串,暫時(shí)把他們置為””,試試看。沒(méi)準(zhǔn)就是他引起的問(wèn)題啊。
我有一個(gè)Access數(shù)據(jù)庫(kù),密碼為ABC,文件名為T(mén)EST.MDB,ADO.NET記錄集我的連接字符串是如下設(shè)置的:"Provider=Microsoft...Jet...;User ID=Admin;Password=ABC"。可是在運(yùn)行時(shí)提示我工作組信息文件丟失,請(qǐng)問(wèn)這是怎么回事?應(yīng)該怎么解決?
哈哈,說(shuō)好了,把分都給我啊。(對(duì)不起,搶分了,大家。。。) 我上面所說(shuō)的方法是用ADO來(lái)打開(kāi)帶有MDW文件的ACCESS。ADO.NET記錄集而你的方法是用DAO來(lái)打開(kāi),這兩者的方法的區(qū)別很小,只是代碼上的區(qū)別。下面我就給你DAO的答案。 在你開(kāi)始想處理數(shù)據(jù)庫(kù)的代碼只前加上這幾句就一切OK了!
對(duì)于遍歷聯(lián)系人,如上使用ForEach循環(huán)是正確的,可以正常遍歷,但在里面添加了contactItem.delete后,每次總是少遍歷幾個(gè),ADO.NET記錄集也就是說(shuō)我要清空聯(lián)系人,并不能將其全部清空,總是留有一些未能清掉,請(qǐng)問(wèn)應(yīng)如何解決呢。#t#
答:我不怎么懂VB,ADO.NET記錄集只是一個(gè)小小建議,用WHILE循環(huán),當(dāng)myFolder.Items中有ITEM的時(shí)候,去刪除***個(gè)。答:這是因?yàn)閒oreach是用一個(gè)叫枚舉器的接口來(lái)遍歷的,當(dāng)你刪除了一個(gè)記錄后,實(shí)際上枚舉器不會(huì)重新去index,因此就會(huì)使得某些item被跳過(guò)假設(shè)一個(gè)設(shè)計(jì)是這樣的枚舉器用數(shù)字序號(hào)記錄當(dāng)前記錄。
處理完一個(gè)以后,序號(hào)加1當(dāng)你刪除第i個(gè)對(duì)象后,原來(lái)的i1個(gè)對(duì)象會(huì)變成第i個(gè)對(duì)象,而foreach下一次處理的是序號(hào)為i1的對(duì)象,也就是原來(lái)的i2對(duì)象,原來(lái)的i1對(duì)象就丟了實(shí)際合理處理方式是foriPos=items.Count-1to1oItems(iPos).DeleteNext。#t#
Errors 集合中的 Error 對(duì)象集合描述為響應(yīng)單個(gè)語(yǔ)句而發(fā)生的所有錯(cuò)誤。ADO.NET記錄集枚舉 Errors 集合中的特定錯(cuò)誤可使錯(cuò)誤處理例程更精確地判斷產(chǎn)生錯(cuò)誤的原因和來(lái)源,并采取適當(dāng)?shù)牟襟E恢復(fù)。
某些屬性和方法返回警告,ADO.NET記錄集這些警告顯示為 Errors 集合中的 Error 對(duì)象,但并不終止執(zhí)行程序。先調(diào)用 Errors 集合的 Clear 方法,然后再調(diào)用 Recordset 對(duì)象的 Resync、UpdateBatch 或 CancelBatch 方法,Connection 對(duì)象的 Open 方法,或設(shè)置 Recordset 對(duì)象的 Filter 屬性。這樣,就可以讀取 Errors 集合的 Count 屬性以測(cè)試返回的警告。