次の方法で共有


CCommand::Open

コマンドを実行します。必要に応じてコマンドを連結できます。

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

パラメーター

  • session
    [入力] コマンドを実行するセッション。

  • wszCommand
    [入力] 実行するコマンド。コマンドは Unicode 文字列として渡されます。 CAccessor を使用する場合は NULL を指定できます。この場合は、DEFINE_COMMAND マクロに渡した値から、コマンドが取得されます。 詳細については、『OLE DB Programmer's Reference』の「ICommand::Execute」を参照してください。

  • szCommand
    [入力] wszCommand と同じ値。ただし、ANSI コマンド文字列をとります。 このメソッドの 4 番目の形式では NULL 値をとることができます。 詳細については、このトピックで後述する「解説」を参照してください。

  • pPropSet
    [入力] 設定するプロパティと値を格納した DBPROPSET 構造体の配列へのポインター。 Windows SDK の『OLE DB Programmer's Reference』で「Property Sets and Property Groups」を参照してください。

  • pRowsAffected
    [入力/出力] コマンドで操作した行の数を返すメモリへのポインター。 *pRowsAffectedNULL にすると、行数が返されません。 それ以外の場合は、以下の条件に従って *pRowsAffected が設定されます。

    If

    操作内容

    pParams の要素 cParamSets が 1 より大きい

    *pRowsAffected は、実行時に指定されたすべてのパラメーターによって影響を受けた行の総数を表します。

    操作された行数がわからない

    *pRowsAffected が –1 に設定されます。

    コマンドで行が更新、削除、または挿入されない

    *pRowsAffected は未定義になります。

  • guidCommand
    [入力] プロバイダーがコマンド テキストの解析時に使用する構文と一般ルールを指定する GUID。 詳細については、『OLE DB Programmer's Reference』の「ICommandText::GetCommandText」と「ICommandText::SetCommandText」を参照してください。

  • bBind
    [入力] 実行後にコマンドを自動的に連結するかどうかを指定します。 既定値の true では、コマンドが自動的に連結されます。 bBind に false を指定すると、コマンドの自動連結が行われないため、プログラマが手動で連結できます。 (手動での連結は、特に OLAP ユーザーに関係があります。)

  • ulPropSets
    [入力] 引数 pPropSet で渡される DBPROPSET 構造体の数。

戻り値

標準の HRESULT を返します。

解説

Open の最初から 3 番目までの形式はセッションをとり、コマンドを作成し、コマンドを実行します。必要に応じてパラメーターを連結します

Open の最初の形式は Unicode コマンド文字列をとります。既定値はありません。

Open の 2 番目の形式は、既存の ANSI アプリケーションとの下位互換性のために用意されている ANSI コマンド文字列をとります。既定値はありません。

Open の 3 番目の形式では、int 型の既定値が NULL であるため、コマンド文字列を NULL に指定できます。 この形式は、NULL が int 型であるため、Open(session, NULL); または Open(session); を呼び出すために用意されています。 このバージョンでは、int パラメーターを NULL に指定することが必要です。

コマンドが作成済みであり、Prepare を 1 回実行してからコマンドを複数回実行する場合は、Open の 4 番目の形式を使用します。

注意

OpenExecute を呼び出すと、Execute は GetNextResult を呼び出します。

必要条件

**ヘッダー:**atldbcli.h

参照

参照

CCommand クラス

その他の技術情報

CCommand のメンバー