从字符串yyyyMMdd到类型整数的转换无效

时间:2009-10-02 09:28:19

标签: vb.net datetime format tostring

我有一个包含数据表的数据集,我枚举了该数据表中的所有行。当尝试格式化该行中的列时,我遇到了异常。 (部分)代码是:

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

这会导致以下错误消息:

从字符串yyyyMMdd转换为Integer类型无效。 (从荷兰语错误消息翻译成英语等价物)

dr(“timestamp”)。GetType.FullName导致“System.DateTime”,所以我不明白为什么我遇到这个异常,例如 Now.ToString(“yyyyMMdd”)结果为“20091002”,“Now”与dr(“timestamp”),“System.DateTime”属于同一类型。

2 个答案:

答案 0 :(得分:14)

尝试

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

答案 1 :(得分:0)

您是否确定未将变量'file'声明为整数?