SqlDataSourceView.ExecuteDelete(IDictionary, IDictionary) メソッド

定義

DeleteCommand SQL 文字列、DeleteParameters コレクションで指定した任意のパラメーター、および指定した keys コレクションと oldValues コレクション内の値を使用して、削除操作を実行します。

protected:
 override int ExecuteDelete(System::Collections::IDictionary ^ keys, System::Collections::IDictionary ^ oldValues);
protected override int ExecuteDelete (System.Collections.IDictionary keys, System.Collections.IDictionary oldValues);
override this.ExecuteDelete : System.Collections.IDictionary * System.Collections.IDictionary -> int
Protected Overrides Function ExecuteDelete (keys As IDictionary, oldValues As IDictionary) As Integer

パラメーター

keys
IDictionary

IDictionary 操作で削除するオブジェクトまたは行のキー値の ExecuteDelete(IDictionary, IDictionary)

oldValues
IDictionary

IDictionary プロパティが ConflictDetection 値に設定されている場合にだけ評価される行の値を格納している CompareAllValues

戻り値

基になるデータベースから削除された行数を表す値。

例外

SqlDataSource が、基になるデータ ソースとの接続を確立できません。

- または -

ConflictDetection プロパティが CompareAllValues 値に設定され、oldValues パラメーターが渡されていません。

現在のユーザーには、データベースにアクセスできる正しいアクセス許可がありません。

- または -

コントロールのインスタンスは、AccessDataSource コントロールであり、DataFile プロパティに指定されているパスへのアクセスは拒否されます。

CanDelete プロパティが false です。

- または -

AccessDataSource コントロールのインスタンスを使用する前に、デザイン時の相対パスがデザイナーによって正しく割り当てられていませんでした。

注釈

クラスは SqlDataSourceView 、継承された ExecuteDelete メソッドを実装して、データベースからデータを削除します。 ページ開発者とデータ バインド コントロールの作成者は、 メソッドを ExecuteDelete 直接呼び出しません。代わりに、公開されている Delete メソッドを使用します。

コレクションに keys 含まれる値は評価され、コレクションに含まれるすべての値と DeleteParameters マージされます。 プロパティが ConflictDetection 値に CompareAllValues 設定されている場合、コレクションに oldValues 含まれる値は プロパティで OldValuesParameterFormatString 書式設定され、マージも行われます。

削除操作が実行される前に、 メソッドが OnDeleting 呼び出されてイベントが発生します Deleting 。 このイベントを処理して、パラメーターの値を調べ、削除の前に前処理を実行できます。

削除操作を実行するために、オブジェクトはSqlDataSourceViewテキストと関連DeleteParametersするプロパティをDeleteCommand使用してオブジェクトをビルドDbCommandし、基になるデータベースにDbCommand対してオブジェクトを実行します。 削除操作が完了すると、 OnDeleted メソッドが呼び出されてイベントが発生します Deleted 。 このイベントを処理して、戻り値とエラー コードを調べ、後処理を実行できます。

適用対象

こちらもご覧ください