Partilhar via


SqlDataSourceStatusEventArgs Classe

Definição

Fornece dados para um evento que é gerado pelo controle SqlDataSource após uma operação de dados ser concluída.

public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
    inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
Herança
SqlDataSourceStatusEventArgs

Exemplos

O exemplo de código a seguir demonstra como usar a SqlDataSourceStatusEventArgs classe para examinar o valor retornado e os valores dos parâmetros de saída retornados ao usar um SqlDataSource controle com um procedimento armazenado para preencher um GridView controle. O procedimento armazenado seleciona os dados exibidos no GridView, mas também passa outras informações de volta para o chamador, como um parâmetro de saída inteiro e um valor retornado. Os parâmetros que o SqlDataSource usa para o procedimento armazenado são contidos pela SelectParameters coleção e consistem em parâmetros que passam informações do formulário da Web para o procedimento armazenado, bem como parâmetros que passam informações de volta para o formulário. A Direction propriedade desses parâmetros é definida como Output e 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>

Comentários

A SqlDataSourceStatusEventArgs classe é usada nos Selectedeventos , Updated, Insertede Deleted para passar informações sobre uma operação de banco de dados depois de ser executada pelo controle da fonte de dados. Essas informações incluem o número de linhas afetadas pela operação, o DbCommand objeto que a fonte de dados usou para executar a operação e todas as informações de exceção que resultaram. Ao adicionar um delegado de manipulador de eventos para manipular os Selectedeventos , UpdatedInserted ou Deleted , você pode examinar esses dados e executar qualquer pós-processamento adicional necessário.

O SqlDataSource controle expõe muitos eventos que você pode manipular para trabalhar com os objetos de dados subjacentes durante uma operação de dados. A tabela a seguir lista os eventos e as classes associadas EventArgs e do manipulador de eventos para orientar melhor você para os vários eventos que correspondem ao ciclo de vida de uma operação de dados usando o SqlDataSource controle .

Evento EventArgs EventHandler
Selecting ocorre antes que os dados sejam recuperados. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updating, Deleting ocorrem antes que uma operação de inserção, atualização ou exclusão seja executada. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted, Updated, Deleted ocorrem após a conclusão das operações de recuperação, inserção, atualização ou exclusão de dados. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Construtores

SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

Inicializa uma nova instância da classe SqlDataSourceStatusEventArgs, usando o valor retornado, o número de linhas afetadas pela operação de banco de dados e os parâmetros de saída especificados.

Propriedades

AffectedRows

Obtém o número de linhas afetadas por uma operação do banco de dados.

Command

Obtém o comando de banco de dados enviado para o banco de dados.

Exception

Obtém um wrapper para as exceções geradas pelo banco de dados durante uma operação de dados.

ExceptionHandled

Obtém ou define um valor que indica se uma exceção gerada pelo banco de dados foi tratada.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Retorna uma cadeia de caracteres que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Confira também