2014-06-20 47 views
0

我正在嘗試顯示數據,但來自Reader但未讀取數據。當調試使用step over/F10代碼會跳過此行無法從讀取器中讀取數據

trackCollection.Add(track); 

而且直接進入這一個:

Reader.Close(); 

另外,我在結尾加上一個exception,看看發生了什麼事情,但它跳過並轉至return並返回0條記錄。而記錄超過5萬條記錄。

異常代碼:

catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
     } 
     return trackCollection; 
    } 
} 

任何幫助,爲什麼它沒有從reader讀取數據,以及如何我可以得到它的工作將是巨大的:)謝謝。

+1

試試這個:在Visual Studio中,在再次調試代碼之前,執行'Build-> Clean Solution'。有時,不同步的程序集和PDB文件會導致IDE跳過代碼行,因爲它沒有最新的調試符號。 –

+0

你也可以試試這個:在'Test'菜單項中,選擇'Test Settings'並確保任何'.testsettings'文件未被打開。選中的'.testsettings'文件在遍歷代碼時可能會造成嚴重破壞(例如,取決於測試設置文件是否啓用了代碼覆蓋範圍)。 –

+0

@JasonEvans謝謝你 - 我完全按照你的建議做了清潔解決方案和檢查測試設置。感謝你,我不知道'.testsettings'位,但你已經清楚了。儘管如此,這個問題仍然存在,它不會讓我在調試時跨過那一行。再次感謝:) – user3679123

回答

1

數據源中可能有50k條記錄,但是您執行的查詢返回0條記錄。 while塊內的代碼被跳過,因爲dataReader.Read()返回false。

+0

感謝您的請求:)請問您能幫我解決這個問題嗎? – user3679123

+0

@ user3679123您應該修改查詢(和/或參數值,如果您使用它們)返回至少一條記錄。在調試時,您可以檢查'dbCommand.CommandText'來查看它是否使用您所期望的查詢。 –

+0

感謝您的幫助:)通過刪除不必要的參數解決了問題。 :) – user3679123