SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments) メソッド

定義

SelectCommand SQL 文字列、および SelectParameters コレクション内の任意のパラメーターを使用して、基になるデータベースからデータを取得します。

protected public:
 override System::Collections::IEnumerable ^ ExecuteSelect(System::Web::UI::DataSourceSelectArguments ^ arguments);
protected internal override System.Collections.IEnumerable ExecuteSelect (System.Web.UI.DataSourceSelectArguments arguments);
override this.ExecuteSelect : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Protected Friend Overrides Function ExecuteSelect (arguments As DataSourceSelectArguments) As IEnumerable

パラメーター

arguments
DataSourceSelectArguments

基本的なデータ取得を超えたデータ操作を要求する場合に使用する DataSourceSelectArguments オブジェクト。

戻り値

データ行の IEnumerable リスト。

例外

ExecuteSelect(DataSourceSelectArguments) メソッドに渡される arguments は、データを取得するときに、取得したデータに対するページングまたは並べ替えを有効にするには、データ ソースで追加の作業が必要であることを指定しますが、データ ソース コントロールは、要求された機能をサポートしていません。

- または -

キャッシュは有効ですが、データ ソースの DataSourceMode プロパティが DataSet に設定されていません。

- または -

SortParameterName プロパティが設定されていますが、CommandTypeStoredProcedure に設定されていません。

データ ソースがデータベース接続を作成できません。

- または -

キャッシュは有効ですが、内部キャッシュとコマンドの種類が一致していません。

注釈

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

データの取得が実行される前に、 メソッドが OnSelecting 呼び出されてイベントが発生します Selecting 。 このイベントを処理して、パラメーターの値を調べ、データを取得する前に前処理を実行できます。

この操作を実行するために、オブジェクトはSqlDataSourceViewテキストと関連付けられている SelectParameters任意の SelectCommand を使用してオブジェクトをビルドDbCommandし、基になるデータベースに対して実行します。 操作が完了すると、 OnSelected メソッドが呼び出されてイベントが発生します Selected 。 このイベントを処理して、戻り値、エラー コードを調べ、後処理を実行できます。

が にDataView設定されている場合DataSourceMode、メソッドは ExecuteSelect オブジェクトを返しIDataReader、 が にDataSet設定されている場合DataSourceModeは オブジェクトをDataReader返します。 データの IDataReader 読み取りが完了したら、オブジェクトを閉じます。

DataSourceModeが にDataSet設定され、キャッシュが有効になっている場合、 SqlDataSourceView は からデータを取得し、データ操作中にデータをキャッシュに保存します。 キャッシュは、 プロパティと CacheExpirationPolicy プロパティのCacheDuration組み合わせで指定されたキャッシュ動作に基づいて作成、破棄、または更新されます。

重要

Windows 認証でクライアントの偽装を使用している場合、最初のユーザーがデータにアクセスすると、データがキャッシュされます。 別のユーザーが同じデータを要求すると、データはキャッシュから取得されます。 データに対するユーザーのアクセスを確認するためにデータベースを別の呼び出しを行うことで、データは取得されません。 複数のユーザーがデータにアクセスする必要があり、データベースのセキュリティ構成によってデータを取得するたびに検証する場合は、キャッシュを使用しないでください。

DataSourceModeが にDataSet設定され、 FilterExpression が指定されている場合は、指定されたFilterParametersと共に評価され、結果のフィルターはデータ取得操作中にデータの一覧に適用されます。

適用対象

こちらもご覧ください