我有一个使用 ADO 访问 Microsoft SQL Server 数据库的 Visual C++ (MFC) 应用程序。我想开始使用 DateTimeOffset 列,但我遇到了一个异常。
这是一个代码片段:
HRESULT hRes = pRecordset.CreateInstance(__uuidof(Recordset));
FieldPtr fieldPtr = pRecordset->Fields->GetItem(bstrFieldName);
DataTypeEnum type = fieldPtr->Type;
_variant_t vFieldValue = fieldPtr->Value;
分配Value
给_variant_t
throws 0x80020008 Bad variable type
。
fieldPtr->Type
DateTimeOffset 字段为 146。可以理解,由于 ADO 2.8 可能早于这种列类型,因此 146 不在DataTypeEnum
. 但是,我知道我可以在经典的 ASP(也是 ADO 2.8)中访问这些字段。
如何访问此列?