【发布时间】:2013-08-29 01:32:42
【问题描述】:
while 循环中的 ra.Value 有时是 DateTime 类型,不幸的是 .ToString() 方法不足以将其转换为字符串。我应该对我的代码进行更改,以识别 ra.Value 何时为 DateTime 类型并将其转换为字符串。现在我有一个例外,从“日期时间”类型到“字符串”类型的转换无效。
With ro.Attributes.GetEnumerator
While .MoveNext
Dim ra As ReportAttribute = CType(.Current, ReportAttribute)
Dim lstrColumnReportObj As Integer = ra.Column
Dim lstrValueReportObj As String = ra.Value.ToString()
lstrParTable(lstrColumnReportObj) = lstrParTable(lstrColumnReportObj) + lstrValueReportObj
End While
End With
谢谢。
【问题讨论】:
-
不幸的是 .ToString() 方法不足以将其转换为字符串 这没有意义。
ToString()返回String。总是。 -
乍一看我会说这可能是您的问题所在:
lstrParTable(lstrColumnReportObj) + lstrValueReportObj。你确定lstrParTable(lstrColumnReportObj)不是日期时间吗?您不能连接 DateTime 和字符串。 -
有很多方法可以将日期时间转换为字符串。见这里stackoverflow.com/questions/3477735/…
-
哪一行给出了错误?
-
一些问题:
lstrParTable是什么?OPTION STRICT是否设置为ON?OPTION INFER是否设置为ON?为什么你使用GetEnumerator和MoveNext而不是For Each?