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.

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 usar la SqlDataSourceStatusEventArgs clase para examinar el valor devuelto y los valores de los parámetros de salida que se devuelven al usar un SqlDataSource control con un procedimiento almacenado para rellenar un GridView control. El procedimiento almacenado selecciona los datos que se muestran en GridView, pero también pasa otra información al autor de la llamada, como un parámetro de salida entero y un valor devuelto. Los parámetros que usa para SqlDataSource el procedimiento almacenado están contenidos en la SelectParameters colección y constan de parámetros que pasan información del formulario web al procedimiento almacenado, así como parámetros que devuelven información al formulario. La Direction propiedad de estos parámetros se establece en Output y 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 usa en los Selectedeventos , Updated, Inserted, y Deleted para pasar información sobre una operación de base de datos después de que la realice el control de origen de datos. 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. Al agregar un delegado de controlador de eventos para controlar los Selectedeventos , UpdatedInserted o Deleted , puede examinar estos datos y realizar cualquier procesamiento posterior adicional necesario.

El SqlDataSource control expone muchos eventos que puede controlar para trabajar con los objetos de datos subyacentes durante el transcurso de una operación de datos. En la tabla siguiente se enumeran los eventos y las clases asociadas EventArgs y de controlador de eventos, para guiarse mejor a los distintos eventos que corresponden al ciclo de vida de una operación de datos mediante el SqlDataSource control .

evento EventArgs EventHandler
Selecting se produce antes de recuperar los datos. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
InsertingDeleting, Updatingse produce antes de realizar una operación de inserción, actualización o eliminación. 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. 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.

Propiedades

AffectedRows

Obtiene el número de filas afectadas por una operación de base de datos.

Command

Obtiene el comando de base de datos enviado a la base de datos.

Exception

Obtiene un contenedor para cualquier excepción que inicie la base de datos durante una operación de datos.

ExceptionHandled

Obtiene o establece un valor que indica si se ha controlado una excepción iniciada por la base de datos.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a

Consulte también