Classe CDBVariant

Representa um tipo de dados variante para as classes ODBC do MFC.

Sintaxe

class CDBVariant

Membros

Construtores públicos

Nome Descrição
CDBVariant::CDBVariant Constrói um objeto CDBVariant.

Métodos públicos

Nome Descrição
CDBVariant::Clear Limpa o objeto CDBVariant.

Membros de Dados Públicos

Nome Descrição
CDBVariant::m_dwType Contém o tipo de dados do valor armazenado no momento. Digite DWORD.

Membros de união públicos

Nome Descrição
CDBVariant::m_boolVal Contém um valor do tipo BOOL.
CDBVariant::m_chVal Contém um valor do tipo unsigned char.
CDBVariant::m_dblVal Contém um valor do tipo double.
CDBVariant::m_fltVal Contém um valor do tipo float.
CDBVariant::m_iVal Contém um valor do tipo short.
CDBVariant::m_lVal Contém um valor do tipo long.
CDBVariant::m_pbinary Contém um ponteiro para um objeto do tipo CLongBinary.
CDBVariant::m_pdate Contém um ponteiro para um objeto do tipo TIMESTAMP_STRUCT.
CDBVariant::m_pstring Contém um ponteiro para um objeto do tipo CString.
CDBVariant::m_pstringA Armazena um ponteiro para um objeto CString ASCII.
CDBVariant::m_pstringW Armazena um ponteiro para um objeto CString largo.

Comentários

CDBVariant não tem uma classe base.

CDBVariant é semelhante a COleVariant; no entanto, CDBVariant não usa OLE. CDBVariant permite armazenar um valor sem se preocupar com o tipo de dados do valor. CDBVariant rastreia o tipo de dados do valor atual, que é armazenado em uma união.

A classe CRecordset utiliza objetos CDBVariant em três funções membro: GetFieldValue, GetBookmark e SetBookmark. Por exemplo, GetFieldValue permite que você busque dinamicamente dados em uma coluna. Como o tipo de dados da coluna pode não ser conhecido em tempo de execução, GetFieldValue usa um objeto CDBVariant para armazenar os dados da coluna.

Hierarquia de herança

CDBVariant

Requisitos

Cabeçalho: afxdb.h

CDBVariant::CDBVariant

Cria um objeto CDBVariant NULL.

CDBVariant();

Comentários

Define o membro de dados m_dwType como DBVT_NULL.

CDBVariant::Clear

Chame essa função membro para limpar o objeto CDBVariant.

void Clear();

Comentários

Se o valor do membro de dados m_dwType for DBVT_DATE, DBVT_STRING ou DBVT_BINARY, Clear liberará a memória associada ao membro do ponteiro de união. Clear define m_dwType como DBVT_NULL.

O destruidor CDBVariant chama Clear.

CDBVariant::m_boolVal

Armazena um valor do tipo BOOL.

Comentários

O membro de dados m_boolVal pertence a uma união. Antes de acessar m_boolVal, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_BOOL, m_boolVal conterá um valor válido; caso contrário, o acesso a m_boolVal produzirá resultados não confiáveis.

CDBVariant::m_chVal

Armazena um valor do tipo unsigned char.

Comentários

O membro de dados m_chVal pertence a uma união. Antes de acessar m_chVal, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_UCHAR, m_chVal conterá um valor válido; caso contrário, o acesso a m_chVal produzirá resultados não confiáveis.

CDBVariant::m_dblVal

Armazena um valor do tipo double.

Comentários

O membro de dados m_dblVal pertence a uma união. Antes de acessar m_dblVal, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_DOUBLE, m_dblVal conterá um valor válido; caso contrário, o acesso a m_dblVal produzirá resultados não confiáveis.

CDBVariant::m_dwType

Esse membro de dados contém o tipo de dados do valor armazenado atualmente no membro de dados da união do objeto CDBVariant.

Comentários

Antes de acessar essa união, você deve verificar o valor de m_dwType para determinar qual membro de dados da união acessar. A tabela a seguir lista os valores possíveis de m_dwType e o membro de dados da união correspondente.

m_dwType Membro de dados da união
DBVT_NULL Nenhum membro da união é válido para acesso.
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

Armazena um valor do tipo float.

Comentários

O membro de dados m_fltVal pertence a uma união. Antes de acessar m_fltVal, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_SINGLE, m_fltVal conterá um valor válido; caso contrário, o acesso a m_fltVal produzirá resultados não confiáveis.

CDBVariant::m_iVal

Armazena um valor do tipo short.

Comentários

O membro de dados m_iVal pertence a uma união. Antes de acessar m_iVal, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_SHORT, m_iVal conterá um valor válido; caso contrário, o acesso a m_iVal produzirá resultados não confiáveis.

CDBVariant::m_lVal

Armazena um valor do tipo long.

Comentários

O membro de dados m_lVal pertence a uma união. Antes de acessar m_lVal, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_LONG, m_lVal conterá um valor válido; caso contrário, o acesso a m_lVal produzirá resultados não confiáveis.

CDBVariant::m_pbinary

Armazena um ponteiro para um objeto do tipo CLongBinary.

Comentários

O membro de dados m_pbinary pertence a uma união. Antes de acessar m_pbinary, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_BINARY, m_pbinary conterá um ponteiro válido; caso contrário, o acesso a m_pbinary produzirá resultados não confiáveis.

CDBVariant::m_pdate

Armazena um ponteiro para um objeto do tipo TIMESTAMP_STRUCT.

Comentários

O membro de dados m_pdate pertence a uma união. Antes de acessar m_pdate, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_DATE, m_pdate conterá um ponteiro válido; caso contrário, o acesso a m_pdate produzirá resultados não confiáveis.

Para obter mais informações sobre o tipo de dados TIMESTAMP_STRUCT, consulte o tópico Tipos de Dados C no Apêndice D da Referência do Programador do ODBC no SDK do Windows.

CDBVariant::m_pstring

Armazena um ponteiro para um objeto do tipo CString.

Comentários

O membro de dados m_pstring pertence a uma união. Antes de acessar m_pstring, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_STRING, m_pstring conterá um ponteiro válido; caso contrário, o acesso a m_pstring produzirá resultados não confiáveis.

CDBVariant::m_pstringA

Armazena um ponteiro para um objeto CString ASCII.

Comentários

O membro de dados m_pstringA pertence a uma união. Antes de acessar m_pstringA, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_ASTRING, m_pstringA conterá um ponteiro válido; caso contrário, o acesso a m_pstringA produzirá resultados não confiáveis.

CDBVariant::m_pstringW

Armazena um ponteiro para um objeto CString largo.

Comentários

O membro de dados m_pstringW pertence a uma união. Antes de acessar m_pstringW, verifique o valor de CDBVariant::m_dwType. Se m_dwType for definido como DBVT_WSTRING, m_pstringW conterá um ponteiro válido; caso contrário, o acesso a m_pstringW produzirá resultados não confiáveis.

Confira também

Gráfico da hierarquia
Classe CRecordset