SqlDataSourceStatusEventArgs クラス

定義

データ操作の完了時に、SqlDataSource コントロールによって生成されたイベントのデータを提供します。Provides data for an event that is raised by the SqlDataSource control after a data operation has completed.

public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
    inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
継承
SqlDataSourceStatusEventArgs

次のコード例では、 SqlDataSourceStatusEventArgsクラスを使用しSqlDataSourceて、コントロールをストアドプロシージャと共に使用してコントロールをGridView設定するときに返される出力パラメーターの戻り値と値を確認する方法を示します。The following code example demonstrates how to use the SqlDataSourceStatusEventArgs class to examine the return value and values of output parameters that are returned when using a SqlDataSource control with a stored procedure to populate a GridView control. ストアドプロシージャは、 GridViewに表示されるデータを選択しますが、整数の出力パラメーターや戻り値など、その他の情報を呼び出し元に戻します。The stored procedure selects data that is displayed in the GridView, but also passes other information back to the caller, such as an integer output parameter and a return value. SqlDataSourceSelectParametersよってストアドプロシージャに使用されるパラメーターは、コレクションに含まれています。また、Web フォームからストアドプロシージャに情報を渡すパラメーターと、情報を書.The parameters that the SqlDataSource uses for the stored procedure are contained by the SelectParameters collection, and consist of parameters that pass information from the Web form to the stored procedure as well as parameters that pass information back to the form. これらのパラメーターのReturnValue Output Directionプロパティは、およびに設定されます。The Direction property of these parameters is set to Output and ReturnValue.

<%@Page  Language="C#" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
// Clicking the Submit button explicitly refreshes the data 
// by calling the Select() method.
private void Submit(Object source, EventArgs e) {
  SqlDataSource1.Select(DataSourceSelectArguments.Empty);
}

// This event handler is called after the Select() method is executed.
private void OnSelectedHandler(Object source, SqlDataSourceStatusEventArgs e) {

  IDbCommand cmd = e.Command; 
  
  Label1.Text = "Parameter return values: ";

  foreach (SqlParameter param in cmd.Parameters) {
    //  Extract the value of the parameter.
    Label1.Text += param.ParameterName + " - " + param.Value.ToString();
  }
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:sqldatasource
            id="SqlDataSource1"
            runat="server"
            datasourcemode="DataSet"
            connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
            selectcommand="getordertotal"
            onselected="OnSelectedHandler">
            <selectparameters>
              <asp:querystringparameter name="empId" querystringfield="empId" />
              <asp:parameter name="total" type="Int32" direction="Output" defaultvalue="0" />
              <asp:parameter name="_ret" type="Int32" direction="ReturnValue" defaultvalue="0" />
            </selectparameters>
        </asp:sqldatasource>
        <!--
          CREATE PROCEDURE dbo.getordertotal
            @empId int,
            @total int OUTPUT
          as
            set nocount on
            select @total    = count(1) from orders where employeeid=@empid;
            select * from orders where employeeID = @empId ;
            return (-1000);
          GO
        -->

        <asp:gridview
          id="GridView1"
          runat="server"
          allowpaging="True"
          pagesize="5"
          datasourceid="SqlDataSource1" />

        <asp:button
          id="Button1"
          runat="server"
          onclick="Submit"
          text="Refresh Data" />

        <asp:label id="Label1" runat="server" />

    </form>
  </body>
</html>
<%@Page  Language="VB" %>
<%@Import Namespace="System.Data" %>
<%@Import Namespace="System.Data.Common" %>
<%@Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
' Clicking the Submit button explicitly refreshes the data 
' by calling the Select() method.
Private Sub Submit(source As Object, e As EventArgs)
  
  SqlDataSource1.Select(DataSourceSelectArguments.Empty)
  
End Sub ' Submit

' This event handler is called after the Select() method is executed.
Private Sub OnSelectedHandler(source As Object, e As SqlDataSourceStatusEventArgs)

  Dim cmd As IDbCommand 
  cmd = e.Command
  Dim param As SqlParameter
  
  Label1.Text = "Parameter return values: "
  
  For Each param In cmd.Parameters
    
    ' Extract the name and value of the parameter.
    Label1.Text = Label1.Text & param.ParameterName & " - " & _
                  param.Value.ToString()

  Next

End Sub ' OnSelectedHandler
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
  <head runat="server">
    <title>ASP.NET Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <asp:sqldatasource
            id="SqlDataSource1"
            runat="server"
            datasourcemode="DataSet"
            connectionstring="<%$ ConnectionStrings:MyNorthwind%>"
            selectcommand="getordertotal"
            onselected="OnSelectedHandler">
            <selectparameters>
              <asp:querystringparameter name="empId" querystringfield="empId" />
              <asp:parameter name="total" type="Int32" direction="Output" defaultvalue="0" />
              <asp:parameter name="_ret" type="Int32" direction="ReturnValue" defaultvalue="0" />
            </selectparameters>
        </asp:sqldatasource>
        <!--
          CREATE PROCEDURE dbo.getordertotal
            @empId int,
            @total int OUTPUT
          as
            set nocount on
            select @total    = count(1) from orders where employeeid=@empid;
            select * from orders where employeeID = @empId ;
            return (-1000);
          GO
        -->

        <asp:gridview
          id="GridView1"
          runat="server"
          allowpaging="True"
          pagesize="5"
          datasourceid="SqlDataSource1" />

        <asp:button
          id="Button1"
          runat="server"
          onclick="Submit"
          text="Refresh Data" />

        <asp:label id="Label1" runat="server" />

    </form>
  </body>
</html>

注釈

Selected Updated Insertedクラスは、データソースコントロールによって実行Deletedされた後、データベース操作に関する情報を渡すために、、、、およびの各イベントで使用されます。 SqlDataSourceStatusEventArgsThe SqlDataSourceStatusEventArgs class is used in the Selected, Updated, Inserted, and Deleted events to pass information about a database operation after it is performed by the data source control. この情報には、操作DbCommandの影響を受ける行の数、操作を実行するためにデータソースが使用したオブジェクト、および結果として生成された例外情報が含まれます。This information includes the number of rows affected by the operation, the DbCommand object that the data source used to perform the operation, and any exception information that resulted. Selected、 、UpdatedまたはDeletedイベントを処理するイベントハンドラーデリゲートを追加することで、このデータを確認し、必要な追加の後処理を実行できます。 InsertedBy adding an event handler delegate to handle the Selected, Updated, Inserted or Deleted events, you can examine this data and perform any additional post processing required.

コントロールSqlDataSourceは、データ操作の過程で、基になるデータオブジェクトを操作するために処理できる多数のイベントを公開します。The SqlDataSource control exposes many events that you can handle to work with the underlying data objects during the course of a data operation. 次の表は、イベントと、 EventArgs関連付けられたイベントハンドラークラスを示しています。これにより、 SqlDataSourceコントロールを使用したデータ操作のライフサイクルに対応するさまざまなイベントをより適切に導くことができます。The following table lists the events and associated EventArgs and event handler classes, to better guide you to the various events that correspond to the life cycle of a data operation using the SqlDataSource control.

eventEvent EventArgsEventArgs EventHandlerEventHandler
Selectingデータが取得される前に発生します。Selecting occurs before the data is retrieved. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
InsertingUpdating、は、挿入、更新、または削除の各操作が実行される前に発生します。DeletingInserting, Updating, Deleting occur before an insert, update, or delete operation is performed. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
SelectedInserted、 、Deletedは、データの取得、挿入、更新、または削除の各操作が完了した後に発生します。 UpdatedSelected, Inserted, Updated, Deleted occur after the data retrieval, insert, update, or delete operations completes. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

コンストラクター

SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

指定された出力パラメーター、戻り値、および、データベース操作によって影響を受ける行数を使用して、SqlDataSourceStatusEventArgs クラスの新しいインスタンスを初期化します。Initializes a new instance of the SqlDataSourceStatusEventArgs class, using the specified output parameters, return value, and number of rows affected by the database operation.

プロパティ

AffectedRows

データベース操作の影響を受けた行の数を取得します。Gets the number of rows affected by a database operation.

Command

データベースに送信されたデータベース コマンドを取得します。Gets the database command submitted to the database.

Exception

データ操作中にデータベースによってスローされる例外のラッパーを取得します。Gets a wrapper for any exceptions thrown by the database during a data operation.

ExceptionHandled

データベースによりスローされた例外が処理されたかどうか示す値を取得または設定します。Gets or sets a value indicating whether an exception thrown by the database has been handled.

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)

適用対象

こちらもご覧ください