Freigeben über


CCommand::Open

Führt aus und bindet optional den Befehl.

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( );

Parameter

  • session
    [in] in der die Sitzung, um den Befehl ausführen.

  • wszCommand
    [in] der Befehl auszuführen, übergeben als Unicode-Zeichenfolge. Kann NULL, wenn CAccessor verwendet wird, wird der Befehl im Wert abgerufen wird, der zum DEFINE_COMMAND-Makro übergeben wird. Siehe ICommand::Execute in der OLE DB-Programmierreferenz für Details.

  • szCommand
    [in] nimmt wszCommand identisch außer dass dieser Parameter eine ANSI-Befehlszeichenfolge. Das vierte Formular dieser Methode kann einen NULL-Wert akzeptiert. Siehe "Hinweise" weiter unten in diesem Thema für Details.

  • pPropSet
    [in] strukturiert Ein Zeiger auf ein Array von DBPROPSET das Einbinden von festgelegt werden Eigenschaften und Werte. Siehe Eigenschaftensätze und Eigenschaftengruppen in der OLE DB-Programmierreferenz in Windows SDK.

  • pRowsAffected
    [in/out] Ein Zeiger auf den Speicher, in dem die Anzahl von Zeilen, die über einen Befehl gelten, zurückgegeben wird. Wenn es ist keine NULL, Zeilenanzahl zurückgegeben wird *pRowsAffected. Andernfalls legt Öffnen *pRowsAffected entsprechend den folgenden Bedingungen fest:

    If

    Then

    Das cParamSets-Element von pParams ist größer als 1

    *pRowsAffected stellt die Gesamtzahl der Zeilen dar, die von allen Parametersätze beeinflusst werden, die bei der Ausführung angegeben werden.

    Die Anzahl der betroffenen Zeilen ist nicht verfügbar

    * -pRowsAffected auf 1 festgelegt.

    Der Befehl nicht aktualisiert oder löscht, fügt darin Zeilen ein

    *pRowsAffected nicht definiert ist.

  • guidCommand
    [in] Eine GUID, die der Syntax und die allgemeinen Regeln angibt, den der Anbieter verwendet, wenn es den Befehlstext analysiert. Siehe ICommandText::GetCommandText und ICommandText::SetCommandText in der OLE DB-Programmierreferenz für Details.

  • bBind
    [in] gibt an, ob der Befehl automatisch gebunden, nach ausgeführt werden. Der Standardwert ist true, der den Befehl auslöst, automatisch gebunden werden. Einstellung bBind von false verhindert die automatische Bindung des Befehls, damit Sie manuell binden können. (Das manuelle Bindung ist von besonderem Interesse für OLAP-Benutzern.)

  • ulPropSets
    [in] hat die Anzahl der DBPROPSET-Strukturen in das pPropSet-Argument.

Rückgabewert

Standard- HRESULT.

Hinweise

Die ersten drei Formen von Öffnen werden eine Sitzung, einen Befehl erstellen und führen Sie den Befehl aus und ggf. binden alle Parameter.

Das erste Format von Öffnen wird eine Unicode-Befehlszeichenfolge und besitzt keinen Standardwert.

Das zweite Format von Öffnen wird eine ANSI-Befehlszeichenfolge und keinen Standardwert (bereitgestellt für Abwärtskompatibilität mit vorhandenen ANSI-Anwendungen).

Das dritte Format von Öffnen kann der Befehlszeichenfolge, um, aufgrund des Typs int mit einem Standardwert NULL NULL sein. Es wird für das Aufrufen von Open(session, NULL); oder Open(session); bereitgestellt, da NULL vom Typ int ist. Diese Version erfordert und erläutert, dass der Parameter int NULL ist.

Verwenden Sie das vierte Format von Öffnen, wenn Sie bereits einen Befehl erstellt und Sie einzelnen Vorbereiten vor und mehrere Testläufe ausführen möchten.

Hinweis

Öffnen ruft Ausführen auf, das wiederum GetNextResult aufgerufen wird.

Anforderungen

Header: atldbcli.h

Siehe auch

Referenz

CCommand-Klasse