SqlDataSourceStatusEventArgs Classe

Définition

Fournit des données pour un événement qui est déclenché par le contrôle SqlDataSource après la fin d'une opération de données.

public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
    inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
Héritage
SqlDataSourceStatusEventArgs

Exemples

L’exemple de code suivant montre comment utiliser la SqlDataSourceStatusEventArgs classe pour examiner la valeur de retour et les valeurs des paramètres de sortie retournés lors de l’utilisation d’un SqlDataSource contrôle avec une procédure stockée pour remplir un GridView contrôle. La procédure stockée sélectionne les données affichées dans , GridViewmais transmet également d’autres informations à l’appelant, telles qu’un paramètre de sortie entier et une valeur de retour. Les paramètres que le SqlDataSource utilise pour la procédure stockée sont contenus dans la SelectParameters collection et se composent de paramètres qui transmettent des informations du formulaire Web à la procédure stockée, ainsi que des paramètres qui transmettent des informations au formulaire. La Direction propriété de ces paramètres est définie sur Output et 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>

Remarques

La SqlDataSourceStatusEventArgs classe est utilisée dans les Selectedévénements , Updated, Insertedet Deleted pour transmettre des informations sur une opération de base de données après qu’elle a été effectuée par le contrôle de source de données. Ces informations incluent le nombre de lignes affectées par l’opération, l’objet DbCommand utilisé par la source de données pour effectuer l’opération et toutes les informations d’exception qui en ont résulté. En ajoutant un délégué de gestionnaire d’événements pour gérer les Selectedévénements , Updatedou InsertedDeleted , vous pouvez examiner ces données et effectuer tout post-traitement supplémentaire requis.

Le SqlDataSource contrôle expose de nombreux événements que vous pouvez gérer pour utiliser les objets de données sous-jacents au cours d’une opération de données. Le tableau suivant répertorie les événements et les classes associées EventArgs et gestionnaires d’événements, pour mieux vous guider vers les différents événements qui correspondent au cycle de vie d’une opération de données à l’aide du SqlDataSource contrôle .

Événement EventArgs EventHandler
Selecting se produit avant la récupération des données. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updatingse Deleting produit avant qu’une opération d’insertion, de mise à jour ou de suppression ne soit effectuée. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted, Updatedse Deleted produit une fois les opérations d’extraction, d’insertion, de mise à jour ou de suppression des données terminées. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Constructeurs

SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

Initialise une nouvelle instance de la classe SqlDataSourceStatusEventArgs, à l'aide des paramètres de sortie spécifiés, de la valeur de retour et du nombre de lignes affecté par l'opération de base de données.

Propriétés

AffectedRows

Obtient le nombre de lignes affectées par une opération de base de données.

Command

Obtient la commande de base de données envoyée à la base de données.

Exception

Obtient un wrapper pour toutes les exceptions levées par la base de données pendant une opération de données.

ExceptionHandled

Obtient ou définit une valeur qui indique si une exception levée par la base de données a été gérée.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi