Condividi tramite


Struttura CDaoFieldInfo

La struttura di CDaoFieldInfo contiene informazioni su un oggetto di campo definito per DAO (data access objects (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
};

Parametri

  • m_strName
    In modo univoco denominazione l'oggetto di campo.Per ulteriori informazioni, vedere l'argomento “proprietà name„ nella Guida di DAO.

  • m_nType
    Un valore che indica il tipo di dati.Per ulteriori informazioni, vedere l'argomento “proprietà del tipo„ nella Guida di DAO.Il valore di questa proprietà può essere:

    • dbBoolean sì/no, stesso di TRUE/FALSE

    • Byte didbByte

    • dbInteger breve

    • dbLong tempo

    • Valuta didbCurrency; vedere la classe COleCurrencyMFC

    • dbSingle singolo

    • Doppio didbDouble

    • Data/ora didbDate; vedere la classe COleDateTimeMFC

    • Testo didbText; vedere la classe CStringMFC

    • Binario lungo didbLongBinary(oggetti OLE); è possibile utilizzare la classe CByteArray MFC anziché classe CLongBinary come CByteArray è più dettagliato e facile da utilizzare.

    • Memo didbMemo; vedere la classe CStringMFC

    • dbGUID un identificatore univoco globale o identificatore univoco universale utilizzato con le chiamate a procedura remota.Per ulteriori informazioni, vedere l'argomento “proprietà del tipo„ nella Guida di DAO.

    [!NOTA]

    Non utilizzare dati di tipo stringa per i dati binari.In questo modo i dati a passare per il livello della conversione del formato Unicode O ANSI, provocando overhead aumentato ed eventualmente conversioni non intenzionali.

  • m_lSize
    Un valore che indica la dimensione massima consentita, in byte, di un oggetto di campo di DAO che contiene il testo o la dimensione fissa di un oggetto di campo che contiene il testo o valori numerici.Per ulteriori informazioni, vedere l'argomento “proprietà di dimensione„ nella Guida di DAO.Le dimensioni possono essere uno dei seguenti valori:

    Type

    Dimensione (byte)

    Descrizione

    dbBoolean

    1 byte

    Sì/no (stessi True/False)

    dbByte

    1

    Byte

    dbInteger

    2

    Integer

    dbLong

    4

    Long

    dbCurrency

    8

    Valuta (COleCurrency)

    dbSingle

    4

    Single

    dbDouble

    8

    Double

    dbDate

    8

    Data/ora (COleDateTime)

    dbText

    1 - 255

    Testo (CString)

    dbLongBinary

    0

    Binario lungo (oggetti OLE, CByteArray; utilizzare invece di CLongBinary)

    dbMemo

    0

    Memo (CString)

    dbGUID

    16

    Un identificatore univoco globale o identificatore univoco universale utilizzato con le chiamate a procedura remota.

  • m_lAttributes
    Specifica le caratteristiche di un oggetto di campo contenuto da un TableDef, da un recordset, da un querydef, o da un oggetto indice.Il valore restituito può essere una somma di queste costanti, creati con C++ bit per bit (**|**Operatore):

    • dbFixedField la dimensione del campo corretto (impostazione predefinita per i campi numerici).

    • dbVariableField la dimensione di campo è variabile (campi di solo testo).

    • dbAutoIncrField il valore del campo per i nuovi record viene incrementato in un Integer lungo univoco che non può essere modificato.Supportato solo per le tabelle di database Microsoft Jet.

    • dbUpdatableField il valore del campo può essere modificato.

    • dbDescending il campo viene ordinato (Z Alla a o 100 - 0) nell'ordine decrescente (si applica solo a un oggetto di campo in una raccolta di campi di oggetto indice, in MFC, gli oggetti indice stessi sono contenuti negli oggetti di TableDef).Se si omette questa costante, il campo viene ordinato (A-Z o 0 - 100) nell'ordine salente (impostazione predefinita).

    In verificare l'impostazione di questa proprietà, è possibile utilizzare l'operatore AND bit per bit C++ (&) per verificare un attributo specifico.Quando si impostano più attributi, è possibile combinarli combinando le costanti appropriate con OR bit per bit (**|**Operatore).Per ulteriori informazioni, vedere l'argomento “proprietà di attributi„ nella Guida di DAO.

  • m_nOrdinalPosition
    Un valore che specifica l'ordine numerico in cui si desidera un campo rappresentato da un oggetto di campo di DAO da visualizzare rispetto agli altri campi.È possibile impostare la proprietà con CDaoTableDef::CreateField.Per ulteriori informazioni, vedere l'argomento “proprietà di OrdinalPosition„ nella Guida di DAO.

  • m_bRequired
    Indica se un oggetto di campo di DAO richiede un valore non Null.Se questa proprietà è TRUE, il campo non consente un valore null.La richiesta viene impostato su FALSE, il campo può contenere valori null nonché i valori che soddisfano le condizioni specificate dalle impostazioni delle proprietà di ValidationRule e di AllowZeroLength.Per ulteriori informazioni, vedere l'argomento “proprietà richiesta„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

  • m_bAllowZeroLength
    Indica se una stringa vuota ("") è un valore valido di un oggetto di campo di DAO con un tipo di dati memo o del testo.Se questa proprietà è TRUE, una stringa vuota è un valore valido.È possibile impostare questa proprietà su FALSE per assicurarsi che non è possibile utilizzare una stringa vuota per impostare il valore di un campo.Per ulteriori informazioni, vedere l'argomento “proprietà di AllowZeroLength„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

  • m_lCollatingOrder
    Specifica la sequenza delle operazioni di ordinamento in testo per il confronto di stringhe o l'ordinamento.Per ulteriori informazioni, vedere l'argomento “personalizzare le impostazioni del Registro di sistema di Windows per l'accesso ai dati„ nella Guida di DAO.Per un elenco di valori possibili restituiti, vedere il membro di m_lCollatingOrder della struttura di CDaoDatabaseInfo .È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

  • m_strForeignName
    Un valore che, in una relazione, specifica il nome dell'oggetto di campo di DAO in una tabella esterna che corrisponde a un campo in una tabella primaria.Per ulteriori informazioni, vedere l'argomento “proprietà di ForeignName„ nella Guida di DAO.

  • m_strSourceField
    Indica il nome del campo che è l'origine originale dei dati per un oggetto di campo di DAO contenuto da un TableDef, da un recordset, o da un oggetto di querydef.Questa proprietà indica il nome del campo originale associato a un oggetto di campo.Ad esempio, è possibile utilizzare questa proprietà per determinare il database di origine originale dei dati in un campo di query di nome è indipendente dal nome del campo nella tabella sottostante.Per ulteriori informazioni, vedere l'argomento “SourceField, proprietà di SourceTable„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

  • m_strSourceTable
    Indica il nome della tabella nel database di origine dati per un oggetto di campo di DAO contenuto da un TableDef, da un recordset, o da un oggetto di querydef.Questa proprietà indica il nome della tabella originale associato a un oggetto di campo.Ad esempio, è possibile utilizzare questa proprietà per determinare il database di origine originale dei dati in un campo di query di nome è indipendente dal nome del campo nella tabella sottostante.Per ulteriori informazioni, vedere l'argomento “SourceField, proprietà di SourceTable„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

  • m_strValidationRule
    Un valore per la convalida dei dati in un campo quando viene modificato o aggiunto a una tabella.Per ulteriori informazioni, vedere l'argomento “proprietà di ValidationRule„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

    Per informazioni correlate sui TableDef, vedere il membro di m_strValidationRule della struttura di CDaoTableDefInfo .

  • m_strValidationText
    Un valore che specifica il testo del messaggio che l'applicazione viene visualizzato se il valore di un oggetto di campo di DAO non soddisfa la regola di convalida specificata dall'impostazione della proprietà di ValidationRule.Per ulteriori informazioni, vedere l'argomento “proprietà di ValidationText„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

  • m_strDefaultValue
    Il valore predefinito di un oggetto di campo di DAO.Quando un nuovo record viene creato, l'impostazione della proprietà del valore viene automaticamente inserita come valore per il campo.Per ulteriori informazioni, vedere l'argomento “proprietà del valore„ nella Guida di DAO.È possibile impostare questa proprietà per un TableDef con CDaoTableDef::CreateField.

Note

I riferimenti a primario, a secondario e tutti su indicano come le informazioni restituite dalla funzione membro di GetFieldInfo nelle classi CDaoTableDef, CDaoQueryDefe CDaoRecordset.

Gli oggetti di campo non sono rappresentati da una classe MFC.Viceversa, gli oggetti di DAO che sono alla base degli oggetti MFC di classi seguenti contengono raccolte di oggetti di campo: CDaoTableDef, CDaoRecordsete CDaoQueryDef.Queste funzioni membro per assistere delle classi per accedere ai singoli elementi di informazioni del campo, oppure è possibile accedervi contemporaneamente a un oggetto di CDaoFieldInfo chiamando la funzione membro di GetFieldInfo dell'oggetto contenitore.

Oltre al relativo utilizzo per la revisione delle proprietà di un oggetto, è anche possibile utilizzare CDaoFieldInfo per costruire un parametro di input per creare nuovi campi in un TableDef.Le opzioni più semplici sono disponibili per questa attività, se si desidera un maggiore controllo, è possibile utilizzare la versione di CDaoTableDef::CreateField che accetta un parametro di CDaoFieldInfo .

Le informazioni recuperate dalla funzione membro di GetFieldInfo di classe (contenente il campo) vengono archiviate in una struttura di CDaoFieldInfo .Chiamare la funzione membro di GetFieldInfo dell'oggetto contenitore che nella raccolta dei campi l'oggetto di campo archiviato.CDaoFieldInfo definisce anche una funzione membro di Dump nelle build di debug.È possibile utilizzare Dump per eseguire il dump del contenuto di un oggetto di CDaoFieldInfo .

Requisiti

Header: afxdao.h

Vedere anche

Riferimenti

CDaoTableDef::GetFieldInfo

CDaoRecordset::GetFieldInfo

CDaoQueryDef::GetFieldInfo

Altre risorse

Strutture, stili, callback e di mappe messaggi