我有一个包含数据表的数据集,我枚举了该数据表中的所有行。当尝试格式化该行中的列时,我遇到了异常。 (部分)代码是:
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”属于同一类型。
答案 0 :(得分:14)
尝试
For Each dr As DataRow In ds.Tables("records").Rows
file = CDate(dr("timestamp")).ToString("yyyyMMdd") & "~.wav"
Next
答案 1 :(得分:0)
您是否确定未将变量'file'声明为整数?