2009-10-02 60 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

相关问题