您能帮我指出导致代码错误的原因吗?我想实现的是在数据库的日期时间列(PT_TimeIn)中分隔日期和时间
sDate = reader.GetDateTime("PT_TimeIn").ToShortDateString
sTime = reader.GetDateTime("PT_TimeIn").ToShortTimeString
错误是:
转换为字符串PT_TimeIn以输入整数类型无效
答案 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
希望这会有所帮助。