0

我正在尝试查询 DB1 并将所有条目填充到我的应用程序中的 DB2 中,但是,我遇到了 DB1 为日期时间字段返回空白条目的问题。

当我的应用程序尝试读取数据时,出现异常:从类型“DBNull”到类型“日期”的转换无效

Dim tmp_closed_at_Date As Date
Dim closed_at_Date As String

tmp_closed_at_Date = dt.Rows(i)("closed_at")
If Not tmp_closed_at_Date = Nothing Then closed_at_Date = tmp_closed_at_Date.ToString("yyyy-MM-dd HH:mm:ss")

我不确定我的代码是否正确,但我发现当我将数据返回到数据表时,它会将日期格式从 'yyyy-MM-dd HH:mm:ss' 转换为 'dd\MM \yyyy HH:mm:ss' 所以我必须通过字符串将日期转换回来以允许填充到 DB2 中。

任何帮助,将不胜感激。

PS 由于 DB1 是第 3 方数据库,我无法对表结构进行任何修改。

4

1 回答 1

0

先将行中的值与赋值前的 DBNULL 进行比较:

Dim tmp_closed_at_Date As Date
Dim closed_at_Date As String


If Not IsDbNull(dt.Rows(i)("closed_at")) Then  
     tmp_closed_at_Date = directcast(dt.Rows(i)("closed_at"), datetime)
     closed_at_Date = tmp_closed_at_Date.ToString("yyyy-MM-dd HH:mm:ss")
End If
于 2013-10-04T04:21:19.270 回答