CDBVariant 类
表示 MFC ODBC 类的变量数据类型。
语法
class CDBVariant
成员
公共构造函数
名称 | 描述 |
---|---|
CDBVariant::CDBVariant | 构造 CDBVariant 对象。 |
公共方法
名称 | 描述 |
---|---|
CDBVariant::Clear | 清除 CDBVariant 对象。 |
公共数据成员
“属性” | 描述 |
---|---|
CDBVariant::m_dwType | 包含当前存储值的数据类型。 键入 DWORD 。 |
公共联合成员
名称 | 描述 |
---|---|
CDBVariant::m_boolVal | 包含类型为 BOOL 的值。 |
CDBVariant::m_chVal | 包含类型为 unsigned char 的值。 |
CDBVariant::m_dblVal | 包含类型为 double 的值。 |
CDBVariant::m_fltVal | 包含类型为 float 的值。 |
CDBVariant::m_iVal | 包含类型为 short 的值。 |
CDBVariant::m_lVal | 包含类型为 long 的值。 |
CDBVariant::m_pbinary | 包含指向 CLongBinary 类型对象的指针。 |
CDBVariant::m_pdate | 包含指向 TIMESTAMP_STRUCT 类型对象的指针。 |
CDBVariant::m_pstring | 包含指向 CString 类型对象的指针。 |
CDBVariant::m_pstringA | 存储指向 ASCII CString 对象的指针。 |
CDBVariant::m_pstringW | 存储指向宽 CString 对象的指针。 |
备注
CDBVariant
没有基类。
CDBVariant
与 COleVariant 相似;但是,CDBVariant
不使用 OLE。 CDBVariant
允许存储值而无需担心值的数据类型。 CDBVariant
跟踪当前值的数据类型,该值存储在联合中。
CRecordset 类在三个成员函数中使用 CDBVariant
对象:GetFieldValue
、GetBookmark
和 SetBookmark
。 例如,GetFieldValue
允许在列中动态提取数据。 因为在运行时可能不知道列的数据类型,所以 GetFieldValue
使用 CDBVariant
对象来存储列的数据。
继承层次结构
CDBVariant
要求
标头:afxdb.h
CDBVariant::CDBVariant
创建 NULL CDBVariant
对象。
CDBVariant();
备注
将 m_dwType 数据成员设置为 DBVT_NULL。
CDBVariant::Clear
调用成员函数以清除 CDBVariant
对象。
void Clear();
备注
如果 m_dwType 数据成员的值是 DBVT_DATE、DBVT_STRING,或 DBVT_BINARY,则 Clear
释放与联合指针成员关联的内存。 Clear
将 m_dwType
设置为 DBVT_NULL。
CDBVariant
析构函数调用 Clear
。
CDBVariant::m_boolVal
存储 BOOL 类型的值。
备注
m_boolVal
数据成员属于联合。 在访问 m_boolVal
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_BOOL,则 m_boolVal
将包含有效值;否则,访问 m_boolVal
将产生不可靠的结果。
CDBVariant::m_chVal
存储 unsigned char
类型的值。
备注
m_chVal
数据成员属于联合。 在访问 m_chVal
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_UCHAR,则 m_chVal
包含有效值;否则,访问 m_chVal
将产生不可靠的结果。
CDBVariant::m_dblVal
存储 double
类型的值。
备注
m_dblVal
数据成员属于联合。 在访问 m_dblVal
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_DOUBLE,则 m_dblVal
包含有效值;否则,访问 m_dblVal
将产生不可靠的结果。
CDBVariant::m_dwType
此数据成员包含当前存储在 CDBVariant
对象的联合数据成员中的值的数据类型。
注解
在访问此联合之前,必须检查 m_dwType
的值以确定要访问的联合数据成员。 下表列出了 m_dwType
的可能值和相应的联合数据成员。
m_dwType | 联合数据成员 |
---|---|
DBVT_NULL | 没有联合成员可访问。 |
DBVT_BOOL | m_boolVal |
DBVT_UCHAR | m_chVal |
DBVT_SHORT | m_iVal |
DBVT_LONG | m_lVal |
DBVT_SINGLE | m_fltVal |
DBVT_DOUBLE | m_dblVal |
DBVT_DATE | m_pdate |
DBVT_STRING | m_pstring |
DBVT_BINARY | m_pbinary |
DBVT_ASTRING | m_pstringA |
DBVT_WSTRING | m_pstringW |
CDBVariant::m_fltVal
存储 float
类型的值。
备注
m_fltVal
数据成员属于联合。 在访问 m_fltVal
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_SINGLE,则 m_fltVal
包含有效值;否则,访问 m_fltVal
将产生不可靠的结果。
CDBVariant::m_iVal
存储 short
类型的值。
备注
m_iVal
数据成员属于联合。 在访问 m_iVal
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_SHORT,则 m_iVal
包含有效值;否则,访问 m_iVal
将产生不可靠的结果。
CDBVariant::m_lVal
存储 long
类型的值。
备注
m_lVal
数据成员属于联合。 在访问 m_lVal
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_LONG,则 m_lVal
包含有效值;否则,访问 m_lVal
将产生不可靠的结果。
CDBVariant::m_pbinary
存储指向 CLongBinary 类型对象的指针。
备注
m_pbinary
数据成员属于联合。 在访问 m_pbinary
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_BINARY,则 m_pbinary
包含有效指针;否则,访问 m_pbinary
将产生不可靠的结果。
CDBVariant::m_pdate
存储指向 TIMESTAMP_STRUCT 类型对象的指针。
注解
m_pdate
数据成员属于联合。 在访问 m_pdate
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_DATE,则 m_pdate
包含有效指针;否则,访问 m_pdate
将产生不可靠的结果。
有关 TIMESTAMP_STRUCT 数据类型的详细信息,请参阅 Windows SDK 中 ODBC 程序员参考的附录 D 中的主题 C 数据类型。
CDBVariant::m_pstring
存储指向 CString 类型对象的指针。
注解
m_pstring
数据成员属于联合。 在访问 m_pstring
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_STRING,则 m_pstring
包含有效指针;否则,访问 m_pstring
将产生不可靠的结果。
CDBVariant::m_pstringA
存储指向 ASCII CString 对象的指针。
备注
m_pstringA
数据成员属于联合。 在访问 m_pstringA
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_ASTRING,则 m_pstringA
包含有效指针;否则,访问 m_pstringA
将产生不可靠的结果。
CDBVariant::m_pstringW
存储指向宽 CString 对象的指针。
备注
m_pstringW
数据成员属于联合。 在访问 m_pstringW
之前,首先检查 CDBVariant::m_dwType 的值。 如果 m_dwType
设置为 DBVT_WSTRING,则 m_pstringW
包含有效指针;否则,访问 m_pstringW
将产生不可靠的结果。