Partager via


CDaoQueryDefInfo, structure

La CDaoQueryDefInfo structure contient des informations sur un objet querydef défini pour les objets d’accès aux données (DAO).

Syntaxe

struct CDaoQueryDefInfo
{
    CString m_strName;               // Primary
    short m_nType;   // Primary
    COleDateTime m_dateCreated;      // Secondary
    COleDateTime m_dateLastUpdated;  // Secondary
    BOOL m_bUpdatable;               // Secondary
    BOOL m_bReturnsRecords;          // Secondary
    CString m_strSQL;                // All
    CString m_strConnect;            // All
    short m_nODBCTimeout;            // All
};

Paramètres

m_strName
Nomme de manière unique l’objet querydef. Pour plus d’informations, consultez la rubrique « Name Property » dans l’aide de DAO. Appelez CDaoQueryDef ::GetName pour récupérer cette propriété directement.

m_nType
Valeur qui indique le type opérationnel d’un objet querydef. Il peut s'agir de l'une des valeurs suivantes :

  • dbQSelect Sélectionnez : la requête sélectionne les enregistrements.

  • dbQAction Action : la requête déplace ou modifie les données, mais ne retourne pas d’enregistrements.

  • dbQCrosstab Analyse croisée : la requête retourne des données dans un format de feuille de calcul.

  • dbQDelete Supprimer : la requête supprime un ensemble de lignes spécifiées.

  • dbQUpdate Mise à jour : la requête modifie un ensemble d’enregistrements.

  • dbQAppend Ajout : la requête ajoute de nouveaux enregistrements à la fin d’une table ou d’une requête.

  • dbQMakeTable Make-table : la requête crée une table à partir d’un jeu d’enregistrements.

  • dbQDDL Définition des données : la requête affecte la structure des tables ou leurs parties.

  • dbQSQLPassThrough Pass-through : l’instruction SQL est transmise directement au back-end de base de données, sans traitement intermédiaire.

  • dbQSetOperationUnion : la requête crée un objet recordset de type instantané contenant des données de tous les enregistrements spécifiés dans deux tables ou plus avec tous les enregistrements dupliqués supprimés. Pour inclure les doublons, ajoutez la mot clé ALL dans l’instruction SQL de querydef.

  • dbQSPTBulk Utilisé avec dbQSQLPassThrough pour spécifier une requête qui ne retourne pas d’enregistrements.

Remarque

Pour créer une requête directe SQL, vous ne définissez pas la dbQSQLPassThrough constante. Cela est défini automatiquement par le moteur de base de données Microsoft Jet lorsque vous créez un objet querydef et définissez la propriété Connecter.

Pour plus d’informations, consultez la rubrique « Type Property » dans l’aide de DAO.

m_dateCreated
Date et heure de création de querydef. Pour récupérer directement la date de création de querydef, appelez la fonction membre GetDateCreated de l’objet CDaoTableDef associé à la table. Pour plus d’informations, voir Commentaires ci-dessous. Consultez également la rubrique « DateCreated, LastUpdated Properties » dans L’aide de DAO.

m_dateLastUpdated
Date et heure de la modification la plus récente apportée au querydef. Pour récupérer directement la date de la dernière mise à jour de la table, appelez la fonction membre GetDateLastUpdated du querydef. Pour plus d’informations, voir Commentaires ci-dessous. Et consultez la rubrique « DateCreated, LastUpdated Properties » dans L’aide de DAO.

m_bUpdatable
Indique si des modifications peuvent être apportées à un objet querydef. Si cette propriété a la valeur TRUE, le querydef est pouvant être mis à jour ; sinon, ce n’est pas le cas. Mise à jour signifie que la définition de requête de l’objet querydef peut être modifiée. La propriété Updatable d’un objet querydef a la valeur TRUE si la définition de requête peut être mise à jour, même si le jeu d’enregistrements résultant n’est pas pouvant être mis à jour. Pour récupérer cette propriété directement, appelez la fonction membre CanUpdate de querydef. Pour plus d’informations, consultez la rubrique « Updatable Property » dans L’aide de DAO.

m_bReturnsRecords
Indique si une requête directe SQL vers une base de données externe retourne des enregistrements. Si cette propriété a la valeur TRUE, la requête retourne des enregistrements. Pour récupérer directement cette propriété, appelez CDaoQueryDef ::GetReturnsRecords. Toutes les requêtes directes SQL vers des bases de données externes ne retournent pas tous les enregistrements. Par exemple, une instruction SQL UPDATE met à jour les enregistrements sans retourner d’enregistrements, tandis qu’une instruction SQL SELECT retourne des enregistrements. Pour plus d’informations, consultez la rubrique « ReturnsRecords Property » dans L’aide de DAO.

m_strSQL
Instruction SQL qui définit la requête exécutée par un objet querydef. La propriété SQL contient l’instruction SQL qui détermine la façon dont les enregistrements sont sélectionnés, regroupés et ordonnés lorsque vous exécutez la requête. Vous pouvez utiliser la requête pour sélectionner des enregistrements à inclure dans un objet recordset de type feuille de réponse dynamique ou instantané. Vous pouvez également définir des requêtes en bloc pour modifier des données sans retourner d’enregistrements. Vous pouvez récupérer la valeur de cette propriété directement en appelant la fonction membre GetSQL de querydef.

m_strConnecter
Fournit des informations sur la source d’une base de données utilisée dans une requête directe. Ces informations prennent la forme d’une chaîne de connexion. Pour plus d’informations sur les chaînes de connexion et pour plus d’informations sur la récupération directe de la valeur de cette propriété, consultez la fonction membre CDaoDatabase ::Get Connecter.

m_nODBCTimeout
Le nombre de secondes pendant lesquelles le moteur de base de données Microsoft Jet attend avant qu’une erreur de délai d’expiration se produise lorsqu’une requête est exécutée sur une base de données ODBC. Lorsque vous utilisez une base de données ODBC, telle que Microsoft SQL Server, il peut y avoir des retards en raison du trafic réseau ou de l’utilisation intensive du serveur ODBC. Au lieu d’attendre indéfiniment, vous pouvez spécifier la durée pendant laquelle le moteur Microsoft Jet attend avant qu’il génère une erreur. La valeur de délai d’expiration par défaut est de 60 secondes. Vous pouvez récupérer la valeur de cette propriété directement en appelant la fonction membre GetODBCTimeout de querydef. Pour plus d’informations, consultez la rubrique « ODBCTimeout Property » dans l’aide de DAO.

Notes

Querydef est un objet de la classe CDaoQueryDef. Les références à Primary, Secondary et All ci-dessus indiquent comment les informations sont retournées par la fonction membre GetQueryDefInfo dans la classeCDaoDatabase.

Les informations récupérées par la fonction membre CDaoDatabase ::GetQueryDefInfo sont stockées dans une CDaoQueryDefInfo structure. Appel de GetQueryDefInfo l’objet de base de données dans lequel la collection QueryDefs est stockée. CDaoQueryDefInfo définit également une Dump fonction membre dans les builds de débogage. Vous pouvez utiliser Dump pour vider le contenu d’un CDaoQueryDefInfo objet. La classe CDaoDatabase fournit également des fonctions membres pour accéder directement à toutes les propriétés retournées dans un CDaoQueryDefInfo objet. Vous devrez donc probablement rarement appeler GetQueryDefInfo.

Lorsque vous ajoutez un nouveau champ ou un objet de paramètre à la collection Fields ou Parameters d’un objet querydef, une exception est levée si la base de données sous-jacente ne prend pas en charge le type de données spécifié pour le nouvel objet.

Les paramètres de date et d’heure sont dérivés de l’ordinateur sur lequel le querydef a été créé ou mis à jour pour la dernière fois. Dans un environnement multiutilisateur, les utilisateurs doivent obtenir ces paramètres directement à partir du serveur de fichiers à l’aide de la commande de temps net pour éviter les incohérences dans les paramètres de propriété DateCreated et LastUpdated.

Spécifications

En-tête : afxdao.h

Voir aussi

Structures, styles, rappels et tables de messages
CDaoQueryDef, classe
CDaoDatabase, classe