2013-04-17 24 views
0

我創建了一個用於刪除重複SPListItem的應用程序。該清單有成千上萬的重複記錄。刪除項目時(比如,刪除約1000條記錄後)。應用程序完成刪除過程並顯示成功完成的消息。 我正在追加我的代碼片段以刪除項目。SplistItem.Delete()方法在刪除時停止

spFormIDCollection = spHistoryList.GetItems(query); 
          if (spFormIDCollection != null && spFormIDCollection.Count > 0) 
           for (int i = 0; i < spFormIDCollection.Count - 1; i++) 
           { 
            SPListItem listItem = spFormIDCollection[i]; 
            if (listItem != null) 
             if (Convert.ToString(listItem[Common.NotificationDate]).Equals(Convert.ToString(spFormIDCollection[i + 1][Common.NotificationDate]))) 
              listItem.Delete(); 

           } 

我不知道我的代碼出了什麼問題。如果有任何不正確的代碼,請你解釋一下。在此先感謝..

+0

你可以進一步擴大嗎?被刪除的項目是?我認爲你的問題並不清楚 –

回答

3

你應該改變你的for循環到

for (int i = spFormIDCollection.Count - 1; i > -1; i--) 

當刪除項目collection.Count降低,你的循環將結束早。