Estrutura CDaoFieldInfo
O CDaoFieldInfo estrutura contém informações sobre um objeto de campo definido para objetos de acesso a dados (DAO).
struct CDaoFieldInfo
{
CString m_strName; // Primary
short m_nType; // Primary
long m_lSize; // Primary
long m_lAttributes; // Primary
short m_nOrdinalPosition; // Secondary
BOOL m_bRequired; // Secondary
BOOL m_bAllowZeroLength; // Secondary
long m_lCollatingOrder; // Secondary
CString m_strForeignName; // Secondary
CString m_strSourceField; // Secondary
CString m_strSourceTable; // Secondary
CString m_strValidationRule; // All
CString m_strValidationText; // All
CString m_strDefaultValue; // All
};
Parâmetros
m_strName
Nomes exclusivamente o objeto de campo.Para obter detalhes, consulte o tópico "Propriedade de nome" na Ajuda do DAO.m_nType
Um valor que indica o tipo de dados do campo.Para obter detalhes, consulte o tópico "Propriedade de tipo" na Ajuda do DAO.O valor dessa propriedade pode ser um destes procedimentos:dbBoolean Sim/Não, mesmo que TRUE/FALSE
dbByte bytes
dbInteger curto
dbLong longo
dbCurrency moeda; consulte MFC classe COleCurrency
dbSingle único
dbDouble duplo
dbDate data/hora; consulte MFC classe COleDateTime
dbText texto; consulte MFC classe CString
dbLongBinary binário longo (objeto OLE); Convém usar classe MFC CByteArray em vez da classe CLongBinary como CByteArray é mais sofisticado e fácil de usar.
dbMemo Memorando; Consulte classe do MFCCString
dbGUID um identificador global exclusivo Identifier/Universally exclusiva usada com chamadas de procedimento remoto.Para obter mais informações, consulte o tópico "Propriedade de tipo" na Ajuda do DAO.
Observação Não use tipos de dados string para dados binários.Isso faz com que os dados passem a camada de conversão Unicode/ANSI, resultando em maior sobrecarga e possivelmente inesperada a conversão.
m_lSize
Um valor que indica o tamanho máximo, em bytes, de um objeto de campo DAO que contém o texto ou o tamanho fixo de um objeto de campo que contém valores numéricos ou de texto.Para obter detalhes, consulte o tópico "Propriedade de tamanho" na Ajuda do DAO.Tamanhos podem ser um dos seguintes valores:Tipo
Tamanho (Bytes)
Descrição
dbBoolean
1 byte
Sim/não (igual a True/False)
dbByte
1
Byte
dbInteger
2
Integer
dbLong
4
Long
dbCurrency
8
Moeda (COleCurrency)
dbSingle
4
Single
dbDouble
8
Double
dbDate
8
Data/hora (COleDateTime)
dbText
1 - 255
Texto (CString)
dbLongBinary
0
Binário longo (objeto OLE; CByteArray; Use em vez de CLongBinary)
dbMemo
0
Memorando (CString)
dbGUID
16
Um identificador global exclusivo/universalmente identificador exclusivo usado com chamadas de procedimento remoto.
m_lAttributes
Especifica as características de um objeto campo contido por uma tabledef, recordset, querydef ou objeto index.O valor retornado pode ser uma soma de constantes, criado com o (OR bit a bit do C++|) operador:dbFixedField o tamanho do campo é fixo (padrão para campos numéricos).
dbVariableField o tamanho do campo é variável (somente campos texto).
dbAutoIncrField o valor do campo para novos registros é incrementado automaticamente para um inteiro longo exclusivo que não pode ser alterado.Suporte somente para tabelas de banco de dados Microsoft Jet.
dbUpdatableField o valor do campo pode ser alterado.
dbDescending o campo é classificado em decrescente (Z - A ou 0 a 100) ordem (se aplica somente a um objeto de campo em uma coleção Fields de um objeto de índice. no MFC, objetos de índice são contidas em objetos de tabledef).Se você omitir esta constante, o campo é classificado em crescente (A - Z ou 0 - 100) ordem (padrão).
Ao verificar a configuração dessa propriedade, você pode usar o C++ bit a bit- E operador (&) para testar um atributo específico.Ao definir vários atributos, combiná-los, combinando as constantes apropriadas com o bit a bit ou (|) operador.Para obter detalhes, consulte o tópico "Propriedade atributos" na Ajuda do DAO.
m_nOrdinalPosition
Um valor que especifica a ordem numérica na qual você deseja um campo representado por um objeto de campo DAO a ser exibido em relação a outros campos.Você pode definir essa propriedade com CDaoTableDef::CreateField.Para obter detalhes, consulte o tópico "Propriedade OrdinalPosition" na Ajuda do DAO.m_bRequired
Indica se um objeto de campo DAO requer um valor não nulo.Se essa propriedade for TRUE, o campo não aceita um valor nulo.Se necessário é definido como FALSE, o campo pode conter valores nulos, bem como os valores que atendam às condições especificadas pelas configurações de propriedade AllowZeroLength e ValidationRule.Para obter detalhes, consulte o tópico "Propriedade necessária" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.m_bAllowZeroLength
Indica se uma seqüência vazia ("") é um valor válido de um objeto de campo DAO com um tipo de dados texto ou Memorando.Se essa propriedade for TRUE, uma seqüência vazia é um valor válido.Você pode definir essa propriedade como FALSE para garantir que você não pode usar uma seqüência vazia para definir o valor de um campo.Para obter detalhes, consulte o tópico "Propriedade AllowZeroLength" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.m_lCollatingOrder
Especifica a seqüência da ordem de classificação no texto para comparação de seqüência de caracteres ou classificação.Para obter detalhes, consulte o tópico "Personalizando o Windows do registro configurações de acesso a dados" na Ajuda do DAO.Para obter uma lista dos possíveis valores retornados, consulte o m_lCollatingOrder membro do CDaoDatabaseInfo estrutura.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.m_strForeignName
Um valor que, em uma relação Especifica o nome do objeto DAO campo em uma tabela externa que corresponde a um campo em uma tabela primária.Para obter detalhes, consulte o tópico "Propriedade ForeignName" na Ajuda do DAO.m_strSourceField
Indica o nome do campo é a fonte original dos dados de um objeto de campo DAO contido por um tabledef, recordset ou um objeto querydef.Esta propriedade indica o nome do campo original associado a um objeto de campo.Por exemplo, você pode usar essa propriedade para determinar a origem de dados em um campo de consulta cujo nome é relacionado ao nome do campo na tabela base.Para obter detalhes, consulte o tópico "SourceField, SourceTable propriedades" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.m_strSourceTable
Indica o nome da tabela que é a fonte original dos dados de um objeto de campo DAO contido por um tabledef, recordset ou um objeto querydef.Esta propriedade indica o nome da tabela original associado a um objeto de campo.Por exemplo, você pode usar essa propriedade para determinar a origem de dados em um campo de consulta cujo nome é relacionado ao nome do campo na tabela base.Para obter detalhes, consulte o tópico "SourceField, SourceTable propriedades" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.m_strValidationRule
Um valor que valida os dados em um campo como ele é alterado ou adicionado a uma tabela.Para obter detalhes, consulte o tópico "Propriedade RegraDeValidação" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.Para obter informações relacionadas sobre tabledefs, consulte o m_strValidationRule membro do CDaoTableDefInfo estrutura.
m_strValidationText
Um valor que especifica o texto da mensagem que seu aplicativo exibe se o valor de um objeto de campo DAO não satisfaz a regra de validação especificada pela configuração da propriedade ValidationRule.Para obter detalhes, consulte o tópico "Propriedade TextoDeValidação" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.m_strDefaultValue
O valor padrão de um objeto de campo do DAO.Quando um novo registro é criado, a configuração da propriedade DefaultValue é inserida automaticamente como o valor do campo.Para obter detalhes, consulte o tópico "Propriedade ValorPadrão" na Ajuda do DAO.Você pode definir essa propriedade para uma tabledef com CDaoTableDef::CreateField.
Comentários
Referências primária, secundária e tudo acima indicam como as informações são retornadas pelo GetFieldInfo função de membro nas classes CDaoTableDef, CDaoQueryDef, e CDaoRecordset.
Objetos de campo não são representados por uma classe do MFC.Em vez disso, os objetos DAO subjacentes objetos MFC das classes a seguir contêm coleções de objetos de campo: CDaoTableDef, CDaoRecordset, e CDaoQueryDef.Essas classes fornecem funções de membro para acessar alguns itens individuais de informações de campo, ou você pode acessá-los todos de uma vez com um CDaoFieldInfo objeto chamando o GetFieldInfo função de membro do objeto recipiente.
Além de seu uso para examinar as propriedades do objeto, você pode usar também CDaoFieldInfo para construir um parâmetro de entrada para a criação de novos campos em uma tabledef.Opções mais simples estão disponíveis para essa tarefa, mas se você desejar exercer um melhor controle, você pode usar a versão do CDaoTableDef::CreateField que leva um CDaoFieldInfo parâmetro.
As informações recuperadas pelo GetFieldInfo função de membro (da classe que contém o campo) é armazenada em um CDaoFieldInfo estrutura.Chamar o GetFieldInfo função de membro do objeto recipiente no cuja coleção de campos objeto field está armazenado.CDaoFieldInfotambém define um Dump membro na depuração compilações.Você pode usar Dump para despejar o conteúdo de um CDaoFieldInfo objeto.
Requisitos
Cabeçalho: afxdao.h
Consulte também
Referência
Outros recursos
Estruturas, estilos, retornos de chamada e mapas de mensagem