Partager via


CCommand::Open

Exécute et lie éventuellement la commande.

HRESULT Open(
   const CSession& session,
   LPCWSTR wszCommand,
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   REFGUID guidCommand = DBGUID_DEFAULT,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );
HRESULT Open(
   const CSession& session,
   LPCSTR szCommand,
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   REFGUID guidCommand = DBGUID_DEFAULT,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );
HRESULT Open(
   const CSession& session,
   INT szCommand = NULL,
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   REFGUID guidCommand = DBGUID_DEFAULT,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );
HRESULT Open(
   DBPROPSET *pPropSet = NULL,
   DBROWCOUNT* pRowsAffected = NULL,
   bool bBind = true,
   ULONG ulPropSets = 0
) throw( );

Paramètres

  • session
    [in] La session dans laquelle exécuter la commande.

  • wszCommand
    [in] La commande à exécuter, passé en tant que chaînes Unicode.Peut être NULL lors de l'utilisation CAccessor, auquel cas la commande est extraite de la valeur passée à la macro de DEFINE_COMMAND .Consultez l' ICommand::Execute dans OLE DB Programmer's Reference pour plus de détails.

  • szCommand
    [in] Même qu' wszCommand sauf que ce paramètre accepte une chaîne d'ordres ANSI.Le quatrième formulaire de cette méthode peut accepter une valeur NULL.Consultez « notes » plus loin dans cette rubrique pour plus de détails.

  • pPropSet
    [in] Un pointeur vers un tableau de DBPROPSET structure contenir des propriétés les valeurs et à définir.Consultez jeux de propriétés et groupes de propriétés dans OLE DB Programmer's Reference dans Kit de développement logiciel Windows.

  • pRowsAffected
    [in/out] Un pointeur vers la mémoire où le nombre de lignes affectées par une commande est retourné.Si *pRowsAffected est NULL, aucun nombre de lignes est retourné.Sinon, Ouvrir définit *pRowsAffected en fonction de les conditions suivantes :

    If

    Then

    L'élément de cParamSets d' pParams est supérieur à 1

    *pRowsAffected représente le nombre de lignes affectées par tous les jeux de paramètres spécifiés dans l'exécution.

    Le nombre de lignes affectées est pas disponible

    *pRowsAffected est défini à 1.

    La commande ne met pas à jour, ne supprime pas, ou n'insère pas les lignes

    *pRowsAffected n'est pas défini.

  • guidCommand
    [in] GUID qui spécifie la syntaxe et les règles générales pour que le fournisseur utilise en analysant le texte de la commande.Voir ICommandText::GetCommandText et l' ICommandText::SetCommandText dans OLE DB Programmer's Reference pour plus de détails.

  • bBind
    [in] spécifie si lier la commande automatiquement après avoir été exécuté.La valeur par défaut est "true", qui provoque l'ordre d'être lié automatiquement.Le paramètre bBind à false empêché le raccordement automatique de la commande afin que vous puissiez lier manuellement.(La liaison manuelle est particulièrement intéressante aux utilisateurs d'OLAP.)

  • ulPropSets
    [in] le nombre de structures de DBPROPSET est passé dans l'argument de pPropSet .

Valeur de retour

HRESULTstandard.

Notes

Les trois premiers formulaires de Ouvrir prennent une session, créez une commande, et exécutent la commande, liant tous les paramètres appropriés.

Le premier formulaire de Ouvrir prend une chaîne d'ordres Unicode et n'a pas de valeur par défaut.

La deuxième forme de Ouvrir ne prend une chaîne d'ordres ANSI et aucune valeur par défaut (données pour la compatibilité descendante avec les applications existantes ANSI).

Le troisième formulaire de Ouvrir permet à la chaîne du contrôle pour être NULL, en raison de le type int avec une valeur par défaut de la valeur NULL.Il lui est affectée pour appeler Open(session, NULL); ou Open(session); car une est de type int.Cette version requiert et les assertions qui le paramètre d' int est NULL.

Utilisez le quatrième formulaire de Ouvrir lorsque vous avez déjà créé une commande et que vous souhaitez exécuter préparez unique et de plusieurs exécutions.

[!REMARQUE]

Ouvrir appelle Exécuter, qui appelle ensuite GetNextResult.

Configuration requise

Header: atldbcli.h

Voir aussi

Référence

CCommand, classe