【发布时间】:2011-07-19 15:09:02
【问题描述】:
我有一个使用 ADO 访问 Microsoft SQL Server 数据库的 Visual C++ (MFC) 应用程序。我想开始使用 DateTimeOffset 列,但遇到了异常。
这是一个代码sn-p:
HRESULT hRes = pRecordset.CreateInstance(__uuidof(Recordset));
FieldPtr fieldPtr = pRecordset->Fields->GetItem(bstrFieldName);
DataTypeEnum type = fieldPtr->Type;
_variant_t vFieldValue = fieldPtr->Value;
将Value 分配给_variant_t 会抛出0x80020008 Bad variable type。
fieldPtr->Type 对于 DateTimeOffset 字段是 146。可以理解,由于 ADO 2.8 可能早于这种列类型,所以 146 不在 DataTypeEnum 中。但是,我知道我可以在经典的 ASP(也是 ADO 2.8)中访问这些字段。
如何访问此列?
【问题讨论】:
标签: sql-server visual-c++ ado datetimeoffset