SqlDataSource.Select(DataSourceSelectArguments) 메서드

정의

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 메서드 쿼리 결과 기반으로 하는 값을 설정 합니다. 다음 예제에서는 웹 컨트롤에 대 한 선언적 코드를 보여줍니다.

<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 페이지 수명 주기의 단계입니다. 에 연결 되는 데이터 바인딩된 컨트롤에 의해 호출 되는 SqlDataSource 제어를 통해 해당 DataSourceID 속성입니다.

Select 메서드가 반환 되는 DataView 경우 개체를 DataSourceMode 속성을 DataSet 값. Select 메서드가 반환 되는 IDataReader 경우 개체를 DataSourceMode 속성을 DataReader 값. 닫기는 IDataReader 데이터 읽기를 마쳤으면 개체입니다.

전에 Select 작업을 수행할를 OnSelecting 메서드를 호출 발생 하는 Selecting 이벤트. 매개 변수의 값을 확인 하 고 전에 처리를 수행 하려면이 이벤트를 처리할 수 있습니다는 Select 작업 합니다.

후는 Select 작업이 완료 되 면 합니다 OnSelected 메서드를 호출 발생 하는 Selected 이벤트. 모든 반환 값 및 오류 코드를 검사 하 고 사후 처리를 수행 하려면이 이벤트를 처리할 수 있습니다.

경우는 DataSourceMode 속성이 SqlDataSourceMode.DataSet 캐싱이 사용 되는 SqlDataSource 개체에서 데이터를 검색 하는 동안 캐시에 데이터를 저장 하는 Select 작업 합니다. 캐시가 만들어지는, 삭제 또는 새로 고침의 조합에 의해 지정 된 캐싱 동작을 기반으로 합니다 CacheDurationCacheExpirationPolicy 속성입니다.

중요

Microsoft Windows 인증에서 클라이언트 가장을 사용 하는 첫 번째 사용자 데이터에 액세스 하는 경우 데이터 캐시 됩니다. 다른 사용자가 동일한 데이터를 요청 하는 경우 데이터 캐시에서 검색 됩니다. 데이터를 호출 하 여 다른 데이터베이스로 데이터에 대 한 사용자의 액세스를 확인 하려면 검색 되지 않습니다. 데이터에 액세스 하는 둘 이상의 사용자를 예상 하 고 데이터베이스에 대 한 보안 구성으로 확인 하는 데이터의 각 검색 하는 경우 캐싱을 사용 하지 마십시오.

경우는 DataSourceMode 속성이 SqlDataSourceMode.DataSetFilterExpression 속성이 지정 된, 제공 된 필터 식이 계산 되 FilterParameters 속성 및 결과 필터는 동안에 적용 된 데이터의 목록을 합니다 Select작업.

Select 메서드를 Select 메서드를 SqlDataSourceView 연관 된 개체는 SqlDataSource 컨트롤. 데이터 검색 작업을 수행 하는 SqlDataSourceView 빌드를 DbCommand 사용 하 여 개체를 SelectCommand 텍스트 및 연결 된 SelectParameters 값 및 다음 실행는 DbCommand 기본 데이터베이스에 대해 합니다.

중요

값 매개 변수 유효성 검사는 잠재적인 보안 위협을 없이 삽입 됩니다. 사용 된 Filtering 이벤트 쿼리를 실행 하기 전에 매개 변수 값의 유효성 검사를 합니다. 자세한 내용은 Script Exploits Overview를 참조하세요.

적용 대상

추가 정보