2009-10-02 59 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 2009-10-02 09:43:05

+0

嗯,他從我得到了+1;)你也可以通過點擊綠色的「v 「(複選標記)在up/downvote數字之下。 – 2009-10-02 09:53:19

+2

雖然此複選標記相當大,但我沒有注意到;) 答案現在已被接受。 – George 2009-10-02 11:38:44

0

你是否確信你是不是在聲明變量「文件」作爲一個整數?

+0

文件被聲明爲字符串,但感謝無論如何幫助我。 – George 2009-10-02 09:44:09

相關問題