この記事は機械翻訳されています。英語版の記事を表示するには、[英語] のチェック ボックスをオンにしてください。また、テキストにマウス ポインターを合わせると、ポップアップ ウィンドウに英語のテキストを表示することもできます。
翻訳
英語

SqlDataSource.Select メソッド (DataSourceSelectArguments)

 

公開日: 2016年10月

使用して、基になるデータベースからデータを取得、 SelectCommand 内にある SQL 文字列とパラメーター、 SelectParameters コレクションです。

名前空間:   System.Web.UI.WebControls
アセンブリ:  System.Web (System.Web.dll 内)

public IEnumerable Select(
	DataSourceSelectArguments arguments
)

パラメーター

arguments
Type: System.Web.UI.DataSourceSelectArguments

A DataSourceSelectArguments 基本的なデータの取得を超えたデータ操作を要求するために使用します。

戻り値

Type: System.Collections.IEnumerable

IEnumerable データ行のリスト。

Exception Condition
InvalidOperationException

SqlDataSource オブジェクトは、基になるデータ ソースとの接続を確立できません。

Select メソッドが中に自動的に呼び出されます、 PreRender ページ ライフ サイクルの段階です。 アタッチされているデータ バインド コントロールによって呼び出される、 SqlDataSource を通じて制御、 DataSourceID プロパティです。

Select メソッドが返される、 DataView オブジェクトの場合、 DataSourceMode プロパティに設定されて、 DataSet 値。 Select メソッドが返される、 IDataReader オブジェクトの場合、 DataSourceMode プロパティに設定されて、 DataReader 値。 閉じる、 IDataReader オブジェクトのデータの読み取りが終了するとします。

前に、 Select 操作を実行する、 OnSelecting させるメソッドが呼び出される、 Selecting イベントです。 パラメーターの値を確認し、前に処理を実行する、このイベントを処理して、 Select 操作します。

後に、 Select 操作が完了すると、 OnSelected させるメソッドが呼び出される、 Selected イベントです。 戻り値とエラー コードを分析し、後続の処理を実行する、このイベントを処理することができます。

場合、 DataSourceMode にプロパティが設定されている SqlDataSourceMode.DataSet キャッシュが有効になっていると、 SqlDataSource オブジェクトからデータを取得し、間にキャッシュにデータを保存、 Select 操作します。 キャッシュは作成と破棄、または更新の組み合わせで指定されているキャッシュの動作に基づいて、 CacheDurationCacheExpirationPolicy プロパティです。

System_CAPS_security セキュリティ メモ

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

場合、 DataSourceMode にプロパティが設定されている SqlDataSourceMode.DataSetFilterExpression プロパティが指定されている、指定されたいずれかと、フィルター式が評価される FilterParameters プロパティとその結果のフィルターの適用中にデータの一覧に、 Select 操作します。

Select メソッドからデリゲートを Select のメソッド、 SqlDataSourceView オブジェクトに関連付けられている、 SqlDataSource コントロールです。 データ取得操作を実行する、 SqlDataSourceView ビルド、 DbCommand オブジェクトを使用して、 SelectCommand テキストと、関連付けられたすべて SelectParameters 値、し、実行、 DbCommand 基になるデータベースに対して。

System_CAPS_security セキュリティ メモ

値は、潜在的なセキュリティ上の脅威が検証を伴わないパラメーターに挿入されます。 使用して、 Filtering クエリを実行する前にパラメーター値を検証するイベントです。 詳細については、「Script Exploits Overview」を参照してください。

次の例は、プログラムで呼び出す方法を示して、 Select メソッドのクエリの結果に基づいて値を設定します。 次の例では、Web コントロールの宣言型コードを示します。

<asp:SqlDataSource 
    ID="SqlDataSource1" 
    runat="server" 
    ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
    SelectCommand="SELECT Count(*) FROM [Products] WHERE ([ReorderLevel] &gt; 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();
}

.NET Framework
2.0 以降で使用可能
トップに戻る
表示: