SqlDataSource.Select(DataSourceSelectArguments) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
SelectCommand SQL 文字列、および SelectParameters コレクション内の任意のパラメーターを使用して、基になるデータベースからデータを取得します。
public:
System::Collections::IEnumerable ^ Select(System::Web::UI::DataSourceSelectArguments ^ arguments);
public System.Collections.IEnumerable Select (System.Web.UI.DataSourceSelectArguments arguments);
member this.Select : System.Web.UI.DataSourceSelectArguments -> System.Collections.IEnumerable
Public Function Select (arguments As DataSourceSelectArguments) As IEnumerable
パラメーター
- arguments
- DataSourceSelectArguments
基本的なデータ取得を超えたデータ操作を要求する場合に使用する DataSourceSelectArguments オブジェクト。
戻り値
データ行の IEnumerable リスト。
例外
SqlDataSource オブジェクトが、基になるデータ ソースとの接続を確立できません。
例
次の例は、プログラムによって メソッドを呼び出し Select 、クエリの結果に基づいて値を設定する方法を示しています。 次の例は、Web コントロールの宣言型コードを示しています。
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] > 0)">
</asp:SqlDataSource>
<asp:Label
ID="Label1"
runat="server"
Text="">
</asp:Label>
<br />
<asp:Button
ID="Button1"
Text="Check Reorder Status"
runat="server"
onclick="Button1_Click" />
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] > 0)">
</asp:SqlDataSource>
<asp:Label
ID="Label1"
runat="server"
Text="">
</asp:Label>
<br />
<asp:Button
ID="Button1"
Text="Check Reorder Status"
runat="server"
onclick="Button1_Click" />
次の例は、 メソッドをプログラムで呼び出す方法を Select 示しています。 コントロールは SqlDataSource 整数を返します。 整数の値は、コントロールのテキスト Label を設定し、コントロールを表示 HyperLink するかどうかを決定するために使用されます。
protected void CheckReorderStatus()
{
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
int reorderedProducts = (int)dv.Table.Rows[0][0];
if (reorderedProducts > 0)
{
Label1.Text = "Number of products on reorder: " + reorderedProducts;
}
else
{
Label1.Text = "No products on reorder.";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
CheckReorderStatus();
}
Protected Sub CheckReorderStatus()
Dim dv As DataView
Dim reorderedProducts As Integer
dv = CType(SqlDataSource1.Select(DataSourceSelectArguments.Empty), DataView)
reorderedProducts = CType(dv.Table.Rows(0)(0), Integer)
If (reorderedProducts > 0) Then
Label1.Text = "Number of products on reorder: " & reorderedProducts
Else
Label1.Text = "No products on reorder."
End If
End Sub
Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs)
CheckReorderStatus()
End Sub
注釈
メソッドは Select 、ページライフ サイクルの PreRender フェーズ中に自動的に呼び出されます。 これは、プロパティを介してDataSourceIDコントロールにアタッチされているデータ バインド コントロールによって呼び出されますSqlDataSource。
Selectプロパティが 値にDataView設定されている場合、DataSourceModeメソッドは オブジェクトをDataSet返します。 Selectプロパティが 値にIDataReader設定されている場合、DataSourceModeメソッドは オブジェクトをDataReader返します。 データの読み取り IDataReader が完了したら、オブジェクトを閉じます。
操作が Select 実行される前に、 メソッドが OnSelecting 呼び出されてイベントが発生します Selecting 。 このイベントを処理して、パラメーターの値を調べ、操作の前に任意の処理を Select 実行できます。
操作が Select 完了すると、 メソッドが OnSelected 呼び出されてイベントが発生します Selected 。 このイベントを処理して、戻り値とエラー コードを調べ、後処理を実行できます。
プロパティが DataSourceMode に SqlDataSourceMode.DataSet 設定され、キャッシュが有効になっている場合、オブジェクトは からデータを SqlDataSource 取得し、操作中にキャッシュにデータを Select 保存します。 キャッシュは、 プロパティと CacheExpirationPolicy プロパティの組み合わせCacheDurationで指定されたキャッシュ動作に基づいて作成、破棄、または更新されます。
重要
Microsoft Windows 認証でクライアントの偽装を使用している場合、最初のユーザーがデータにアクセスすると、データがキャッシュされます。 別のユーザーが同じデータを要求すると、データはキャッシュから取得されます。 データは、ユーザーがデータにアクセスすることを確認するためにデータベースを別の呼び出しを行って取得されません。 複数のユーザーがデータにアクセスする必要があり、データベースのセキュリティ構成によってデータの各取得を検証する場合は、キャッシュを使用しないでください。
プロパティが DataSourceMode に設定されFilterExpression、プロパティが指定されている場合、フィルター式は指定されたFilterParametersプロパティで評価され、結果のフィルターは操作中Selectにデータの一覧SqlDataSourceMode.DataSetに適用されます。
メソッドは Select 、コントロールに Select 関連付けられている オブジェクトの SqlDataSourceView メソッドに SqlDataSource デリゲートします。 データ取得操作を実行するには、SqlDataSourceViewテキストと関連SelectParametersする値を使用して オブジェクトをSelectCommandビルドDbCommandし、基になるデータベースに対して をDbCommand実行します。
重要
値は検証なしでパラメーターに挿入されます。これは、セキュリティ上の脅威になる可能性があります。 イベントを Filtering 使用して、クエリを実行する前にパラメーター値を検証します。 詳細については、「スクリプトによる攻略の概要」を参照してください。
適用対象
こちらもご覧ください
.NET