SqlDataSourceStatusEventArgs Classe

Definição

Fornece dados para um evento que é gerado pelo SqlDataSource controlo após a conclusão de uma operação de dados.

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 seguinte demonstra como usar a SqlDataSourceStatusEventArgs classe para examinar o valor de retorno e os valores dos parâmetros de saída que são devolvidos ao usar um SqlDataSource controlo com um procedimento armazenado para preencher um GridView controlo. O procedimento armazenado seleciona os dados que são exibidos no GridView, mas também transmite outra informação de volta ao chamador, como um parâmetro inteiro de saída e um valor de retorno. Os parâmetros que os SqlDataSource usos para o procedimento armazenado estão contidos pela SelectParameters coleção e consistem em parâmetros que transmitem informação do formulário Web para o procedimento armazenado, bem como parâmetros que transmitem informação de volta ao formulário. A Direction propriedade destes 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>

Observações

A SqlDataSourceStatusEventArgs classe é usada nos Selectedeventos , Updated, Inserted, e Deleted para passar informação sobre uma operação de base de dados após esta ser realizada pelo controlo de fonte de dados. Esta informação inclui o número de linhas afetadas pela operação, o DbCommand objeto que a fonte de dados usou para executar a operação e qualquer informação de exceção resultante. Ao adicionar um delegado handler de eventos para gerir os Selected, Updated, Inserted ou Deleted eventos, pode examinar estes dados e realizar qualquer pós-processamento adicional necessário.

O SqlDataSource controlo expõe muitos eventos que pode gerir para trabalhar com os objetos de dados subjacentes durante o decorrer de uma operação de dados. A tabela seguinte lista os eventos e as classes associadas EventArgs e de handler de eventos, para o orientar melhor para os vários eventos que correspondem ao ciclo de vida de uma operação de dados usando o SqlDataSource controlo.

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

Construtores

Name Description
SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

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

Propriedades

Name Description
AffectedRows

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

Command

Faz com que o comando da base de dados seja submetido para a base de dados.

Exception

Recebe um wrapper para quaisquer exceções lançadas pela base de dados durante uma operação de dados.

ExceptionHandled

Recebe ou define um valor que indica se uma exceção lançada pela base de dados foi tratada.

Métodos

Name Description
Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetHashCode()

Serve como função de hash predefinida.

(Herdado de Object)
GetType()

Obtém o Type da instância atual.

(Herdado de Object)
MemberwiseClone()

Cria uma cópia superficial do atual Object.

(Herdado de Object)
ToString()

Devolve uma cadeia que representa o objeto atual.

(Herdado de Object)

Aplica-se a

Ver também