DB2 データベースでコマンドを実行する

Microsoft.HostIntegration.MsDb2Client.MsDb2Command オブジェクトは、目的のアクションを実行するために使用できるいくつかのExecuteメソッドを公開します。 結果をデータ ストリームとして返す場合は、 Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteReader%2A を使用して DataReader オブジェクトを返します。 シングルトン値を返すには、 Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteScalar%2A を使用します。 Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteNonQuery%2Aを使用して、行を返さないコマンドを実行します。

ストアド プロシージャで MsDb2Command を使用する

ストアド プロシージャで Microsoft.HostIntegration.MsDb2Client.MsDb2Command オブジェクトを使用する場合は、CommandType オブジェクトのMsDb2Command プロパティをStoredProcedureに設定できます。 CommandTypeStoredProcedureでは、ParametersCommand プロパティを使用して、入力パラメーターと出力パラメーターと戻り値にアクセスできます。 Parameters プロパティは、呼び出されたExecute メソッドに関係なくアクセスできます。 ただし、 Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteReader%2Aを呼び出すと、 DataReader が閉じられるまで戻り値と出力パラメーターにアクセスできません。

データを変更する SQL ステートメント ( INSERTUPDATEDELETEなど) は行を返さないことに注意してください。 同様に、多くのストアド プロシージャは、アクションを実行しても行を返しません。 行を返さないコマンドを実行するには、適切な SQL コマンドと、必要なMsDb2Commandを含むMicrosoft.HostIntegration.MsDb2Client.MsDb2Connectionを使用してMicrosoft.HostIntegration.MsDb2Client.MsDb2Parameters オブジェクトを作成します。 ExecuteNonQuery オブジェクトの Microsoft.HostIntegration.MsDb2Client.MsDb2Command メソッドを使用してコマンドを実行します。 Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteNonQuery%2A メソッドは、実行されたステートメントまたはストアド プロシージャの影響を受ける行数を表す整数を返します。 複数のステートメントが実行される場合、返される値は、実行されるすべてのステートメントの影響を受けるレコードの合計です。

データベースとカタログの変更

CREATE TABLECREATE PROCEDURE ステートメントなど、データベースまたはカタログを変更するコマンドを実行するには、適切な SQL ステートメントとMicrosoft.HostIntegration.MsDb2Client.MsDb2Command オブジェクトを使用してMicrosoft.HostIntegration.MsDb2Client.MsDb2Connection オブジェクトを作成します。 Microsoft.HostIntegration.MsDb2Client.MsDb2Command.ExecuteNonQuery%2A オブジェクトの Microsoft.HostIntegration.MsDb2Client.MsDb2Command メソッドを使用してコマンドを実行します。

こちらもご覧ください

DB2用マネージドプロバイダーの操作
DB2 用マネージドプロバイダー プログラマーガイド