SqlDataSourceView クラス
アセンブリ: System.Web (system.web.dll 内)


SqlDataSourceView クラスは、ページ コードのプログラミング可能なオブジェクトとしてではなく、主にデータ バインド コントロールによって使用されるためのものです。
ASP.NET データ ソース コントロールは、データ ソース ビュー オブジェクトによって表される 1 つ以上のデータ リストを格納しています。SqlDataSourceView クラスは、DataSourceView クラスを拡張し、クラスが関連付けられている SqlDataSource コントロールの機能を定義し、データ ソース コントロールの基本的なデータ機能を実装します。SqlDataSourceView クラスは、SqlDataSource コントロールのデータ機能を実装します。こうした機能には、Select、Update、Insert、Delete の各操作、並べ替え、フィルタ処理、およびビューステートで保持される設定の管理があります。
SqlDataSourceView オブジェクトは SqlDataSource コントロールによって直接ページ開発者に公開されていませんが、そのプロパティの多くは公開されています。データ ソース ビューが実行する最も基本的な操作は、基になるデータベースからのデータ取得です。これには、データ項目の IEnumerable コレクションを取得する Select メソッドを使用します。SqlDataSourceView クラスは、SQL クエリを使用したリレーショナル データベースからのデータ取得を実装します。SQL クエリはパラメータ化して、柔軟性とセキュリティを向上させることができます。次のデータ取得のメソッド、プロパティ、およびイベントは、SqlDataSourceView によって実装され、その SqlDataSource コントロールによってページ開発者と他の呼び出し元に直接公開されます。
SqlDataSourceView オブジェクトは、SQL コマンドを使用した、リレーショナル データベース内のデータの更新をサポートします。SQL コマンドはパラメータ化して、柔軟性とセキュリティを向上させることができます。GridView、DetailsView などのデータ バインド コントロールは、SqlDataSourceView を使用して更新を自動的に実行するように構成できますが、他のコントロールはそのように構成できません。次の更新のメソッド、プロパティ、およびイベントは、SqlDataSourceView によって実装され、その SqlDataSource コントロールによってページ開発者と他の呼び出し元に直接公開されます。
SqlDataSourceView は、リレーショナル データベースへのデータの新しい行の挿入をサポートします。InsertCommand プロパティに指定されている SQL コマンドはパラメータ化して、柔軟性とセキュリティを向上させることができます。GridView、DetailsView などのデータ バインド コントロールは、SqlDataSourceView を使用して挿入を自動的に実行するように構成できますが、他のコントロールはそのように構成できません。次の挿入のメソッド、プロパティ、およびイベントは、SqlDataSourceView によって実装され、その SqlDataSource コントロールによってページ開発者と他の呼び出し元に直接公開されます。
SqlDataSourceView オブジェクトは、リレーショナル データベースからのデータの削除もサポートします。他のコマンドと同様に、DeleteCommand プロパティに指定されている SQL コマンドはパラメータ化して、柔軟性とセキュリティを向上させることができます。GridView、DetailsView などのデータ バインド コントロールは、SqlDataSourceView を使用して削除を自動的に実行するように構成できますが、他のコントロールはそのように構成できません。次の削除のメソッド、プロパティ、およびイベントは、SqlDataSourceView によって実装され、その SqlDataSource コントロールによってページ開発者と他の呼び出し元に直接公開されます。
データ取得中にデータのフィルタ処理に使用される句が動的な設定になっている場合、データ取得機能がより強力になります。つまり、WHERE 句内の値が可変な値 (Web フォーム ページ上のコントロールに表示される値など) にバインドされていると、その SQL クエリは静的な WHERE 句付きの SQL クエリに比べて柔軟で強力になります。SQL クエリをビルドし直して、すべてのページ読み込みに対して SelectCommand プロパティを設定する代わりに、FilterExpression プロパティと FilterParameters プロパティを使用して、動的なフィルタ処理をデータ取得に適用できます。これらのプロパティは、SqlDataSourceView によって実装され、その SqlDataSource コントロールによってデータ バインド コントロールと他の呼び出し元に直接公開されます。
SqlDataSource コントロールで取得したデータを並べ替えるには、ORDER BY 句を追加するか、取得後にメモリ内のデータを並べ替えます。ORDER BY 句を使用すると、データを取得する際にデータが並べ替えられます。SqlDataSourceView に並べ替えの式を提供するには、Select メソッドに渡される DataSourceSelectArguments オブジェクトの SortExpression プロパティを設定します。SortExpression プロパティの構文は、DataView.Sort プロパティの構文と同じです。ストアド プロシージャを使用してデータを取得する場合、SortParameterName プロパティを使用して、特にストアド プロシージャ呼び出し結果の並べ替えに使用されるパラメータを指定することもできます。
複数のユーザーが同時にデータベースを変更できる場合、同時実行の競合が発生する可能性があります。SqlDataSource コントロールは、SqlDataSource.ConflictDetection プロパティを使用して同時実行の競合を制御します。この機能は SqlDataSourceView.ConflictDetection プロパティに実装されます。
他の多くの Web サーバー コントロールと同様に、SqlDataSourceView は IStateManager インターフェイスを実装し、ビューステートを使用して複数のページ要求にわたってその状態を追跡します。コントロールのビューステート追跡を有効にするために、IsTrackingViewState プロパティ、および LoadViewState、SaveViewState、TrackViewState の各メソッドの実装が用意されています。詳細については、「ASP.NET の状態管理の概要」を参照してください。


System.Web.UI.DataSourceView
System.Web.UI.WebControls.SqlDataSourceView
System.Web.UI.WebControls.AccessDataSourceView


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- SqlDataSourceView クラスのページへのリンク