如何在数据读取器上的vb.net中的日期时间列上获取时间

时间:2019-07-11 11:59:20

标签: vb.net datetime

您能帮我指出导致代码错误的原因吗?我想实现的是在数据库的日期时间列(PT_TimeIn)中分隔日期和时间

sDate = reader.GetDateTime("PT_TimeIn").ToShortDateString
sTime = reader.GetDateTime("PT_TimeIn").ToShortTimeString

错误是:

  

转换为字符串PT_TimeIn以输入整数类型无效

1 个答案:

答案 0 :(得分:1)

IDataRecord接口(这是基类DbDataReader实现的接口之一)仅提供方法Function GetDateTime(i As Integer) As Date。它的单个参数是指定字段索引的整数。 GetDateTime中没有IDataRecord的重载,该重载采用字段名称的字符串参数。

您可以使用IDataRecord的方法Function GetOrdinal(name As String) As Integer来获取字段的索引,并将其传递给GetDateTime方法。像这样:

sDate = reader.GetDateTime(reader.GetOrdinal("PT_TimeIn")).ToShortDateString
sTime = reader.GetDateTime(reader.GetOrdinal("PT_TimeIn")).ToShortTimeString

希望这会有所帮助。