2014-06-20 4 views
0

데이터를 표시하려고하지만 Reader에서 데이터를 읽으려고합니다. 내가 step over/F10를 사용하여 코드를 디버깅 할 때 그것은이 라인을리더에서 데이터를 읽을 수 없습니다.

trackCollection.Add(track); 

을 건너 뛰고이 하나 똑바로 간다 : 또한

Reader.Close(); 

, 내가 무슨 일이 일어나고 있는지 확인하기 위해 끝에 exception을 추가하지만 것을 건너 뛰고 return으로 이동하여 0 개의 레코드를 반환합니다. 기록은 50,000 건이 넘습니다.

예외 코드 :

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

reader에서 데이터를 읽고 어떻게 그것이 좋은 :) 감사 것이다 일을 얻을 수 아니에요 이유에 어떤 도움.

+1

사용해보기 : Visual Studio에서 코드를 다시 디버깅하기 전에 'Build-> Clean Solution'을하십시오. 경우에 따라 최신 동기화 디버깅 기호가 없기 때문에 동기화되지 않은 어셈블리 및 PDB 파일로 인해 IDE 코드가 건너 뛸 수 있습니다. –

+0

또한 이것을 시도 할 수 있습니다 :'Test' 메뉴 항목에서'Test Settings'을 선택하고'.testsettings' 파일이 unticked인지 확인하십시오. 선택되는'.testsettings' 파일은 코드를 단계별로 실행할 때 (예를 들어 테스트 설정 파일이 코드 커버리지를 사용하는지 여부에 따라) 혼란을 야기 할 수 있습니다. –

+0

@JasonEvans는 그 점에 대해 감사드립니다. 솔루션 정리 및 테스트 설정 확인과 관련하여 제안한 작업을 수행했습니다. 고마워, 나는 .testsettings 비트에 대해 몰랐지만 당신은 그것을 분명하게했다. 하지만 문제는 여전히 존재하며 디버깅하는 동안 특정 라인을 단계적으로 넘기지 않을 것입니다. 다시 한 번 감사드립니다 :) – user3679123

답변

1

데이터 원본에 50KB 레코드가있을 수 있지만 실행 한 쿼리는 0을 반환합니다. dataReader.Read()이 false를 반환하기 때문에 while 블록 내의 코드는 건너 뜁니다.

+0

감사합니다. 제발 내가 어떻게 끝나게 할 수 있겠 니? – user3679123

+0

@ user3679123 하나 이상의 레코드를 반환하려면 쿼리 (및/또는 매개 변수 값을 사용하는 경우)를 수정해야합니다. 디버깅하는 동안'dbCommand.CommandText'를 검사하여 예상 한 쿼리를 사용하는지 확인할 수 있습니다. 도움을 주신 덕분에 –

+0

:) 불필요한 매개 변수를 제거하여 문제가 해결되었습니다. :) – user3679123