SqlDataSourceStatusEventArgs Clase

Definición

Proporciona los datos para un evento que provoca el control SqlDataSource después de que finalice una operación de datos.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
Herencia
SqlDataSourceStatusEventArgs

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar la SqlDataSourceStatusEventArgs clase para examinar el valor devuelto y los valores de los parámetros de salida que se devuelven al utilizar un SqlDataSource control con un procedimiento almacenado para rellenar un GridView control.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. El procedimiento almacenado selecciona los datos que se muestran en el GridView , pero también pasa otra información al autor de la llamada, como un parámetro de salida de entero y un valor devuelto.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. Los parámetros que SqlDataSource utiliza para el procedimiento almacenado están contenidos en la SelectParameters colección y están compuestos de parámetros que pasan información del formulario web al procedimiento almacenado, así como parámetros que pasan información de vuelta al formulario.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. La Direction propiedad de estos parámetros se establece en Output y ReturnValue .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>

Comentarios

La SqlDataSourceStatusEventArgs clase se utiliza en los Selected Updated eventos,, Inserted y Deleted para pasar información sobre una operación de base de datos una vez realizada por el control de origen de datos.The 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. Esta información incluye el número de filas afectadas por la operación, el DbCommand objeto que el origen de datos usó para realizar la operación y cualquier información de excepción resultante.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. Al agregar un delegado de controlador de eventos para controlar los Selected Updated eventos, Inserted o Deleted , puede examinar estos datos y realizar el procesamiento posterior adicional necesario.By 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.

El SqlDataSource control expone muchos eventos que se pueden controlar para trabajar con los objetos de datos subyacentes durante el transcurso de una operación de datos.The SqlDataSource control exposes many events that you can handle to work with the underlying data objects during the course of a data operation. En la tabla siguiente se enumeran los eventos y EventArgs las clases de controlador de eventos y asociadas para guiarle mejor a los diversos eventos que corresponden al ciclo de vida de una operación de datos mediante el SqlDataSource control.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.

EventoEvent EventArgsEventArgs EventHandlerEventHandler
Selecting se produce antes de que se recuperen los datos.Selecting occurs before the data is retrieved. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updating , Deleting se produce antes de que se realice una operación de inserción, actualización o eliminación.Inserting, Updating, Deleting occur before an insert, update, or delete operation is performed. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted , Updated , Deleted se producen después de que se completen las operaciones de recuperación, inserción, actualización o eliminación de datos.Selected, Inserted, Updated, Deleted occur after the data retrieval, insert, update, or delete operations completes. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Constructores

SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

Inicializa una nueva instancia de la clase SqlDataSourceStatusEventArgs, utilizando los parámetros de salida especificados, el valor devuelto y el número de filas afectado por la operación de base de datos.Initializes a new instance of the SqlDataSourceStatusEventArgs class, using the specified output parameters, return value, and number of rows affected by the database operation.

Propiedades

AffectedRows

Obtiene el número de filas afectadas por una operación de base de datos.Gets the number of rows affected by a database operation.

Command

Obtiene el comando de base de datos enviado a la base de datos.Gets the database command submitted to the database.

Exception

Obtiene un contenedor para cualquier excepción que inicie la base de datos durante una operación de datos.Gets a wrapper for any exceptions thrown by the database during a data operation.

ExceptionHandled

Obtiene o establece un valor que indica si se ha controlado una excepción iniciada por la base de datos.Gets or sets a value indicating whether an exception thrown by the database has been handled.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.Determines whether the specified object is equal to the current object.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.Creates a shallow copy of the current Object.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Heredado de Object)

Se aplica a

Consulte también