2009-10-02 9 views
2

데이터 테이블을 포함하는 데이터 세트가 있고 그 데이터 테이블의 모든 행이 열거됩니다. 해당 행에서 열을 형식화 할 때 예외가 발생합니다. (의 일부) 코드는 다음과 같습니다문자열에서 yyyyMMdd 문자열을 정수 유형으로 변환 할 수 없습니다.

For Each dr As DataRow In ds.Tables("records").Rows 
    file = dr("timestamp").ToString("yyyyMMdd") & "~.wav" 
Next 

이것은 다음과 같은 오류 메시지가 발생합니다 문자열 YYYYMMDD에서

변환이 정수가 유효하지 않은 입력합니다. (영어 상당 네덜란드의 오류 메시지 번역)

박사 ("타임 스탬프"). GetType.FullName의 "System.DateTime"의 결과, 그래서 나는이 예외로 실행 왜 이해가 안 돼요, 등 예 : Now.ToString ("yyyyMMdd")의 결과는 "20091002"이고 "Now"는 dr ("timestamp"), "System.DateTime"과 동일한 유형입니다.

답변

11

For Each dr As DataRow In ds.Tables("records").Rows 
    file = CDate(dr("timestamp")).ToString("yyyyMMdd") & "~.wav" 
Next 
+0

이것은 트릭을 만들었습니다. 나를 도와 주셔서 고마워. 불행히도 나는 그 크레딧을 필요로하지 않기 때문에 답을 수정할 수 없다. ( – George

+0

글쎄, 그는 나에게서 +1을 받았다.) 또한 그린을 클릭하여 "받아 들일 수있는"대답을 설정할 수있다. v up/downvote 번호 아래에 "(확인 표시)"가 표시됩니다. –

+2

이 체크 표시가 꽤 크지 만, 나는 그것을 알아 채지 못했습니다;) 답변은 이제 허용됩니다. – George

0

당신이 정수로 변수 '파일을'선언되지 않도록 만든 적이 시도?

+0

파일이 문자열로 선언되었지만 어쨌든 도와 주셔서 감사합니다. – George

관련 문제