CCommand::Open

更新 : 2007 年 11 月

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

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 が設定されます。

    条件

    設定

    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 番目の形式を使用します。

d44k0xyy.alert_note(ja-jp,VS.90).gifメモ :

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

必要条件

ヘッダー : atldbcli.h

参照

参照

CCommand クラス

その他の技術情報

CCommand のメンバ