SqlDataSourceStatusEventArgs Klasse

Definition

Stellt Daten für ein Ereignis bereit, das vom SqlDataSource-Steuerelement nach Abschluss einer Datenoperation ausgelöst wird.

public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
    inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
Vererbung
SqlDataSourceStatusEventArgs

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie die SqlDataSourceStatusEventArgs Klasse verwendet wird, um den Rückgabewert und die Werte von Ausgabeparametern zu untersuchen, die bei Verwendung eines Steuerelements mit einer SqlDataSource gespeicherten Prozedur zurückgegeben werden, um ein GridView Steuerelement aufzufüllen. Die gespeicherte Prozedur wählt Daten aus, die im GridViewAufrufer angezeigt werden, übergibt aber auch andere Informationen an den Aufrufer, z. B. einen ganzzahligen Ausgabeparameter und einen Rückgabewert. Die Parameter, die für SqlDataSource die gespeicherte Prozedur verwendet werden, sind in der SelectParameters Auflistung enthalten und bestehen aus Parametern, die Informationen aus dem Webformular an die gespeicherte Prozedur übergeben, sowie Parameter, die Informationen an das Formular übergeben. Die Direction Eigenschaft dieser Parameter wird auf Output und 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>

Hinweise

Die SqlDataSourceStatusEventArgs Klasse wird in den Selected, Updated, Insertedund Deleted Ereignissen verwendet, um Informationen zu einem Datenbankvorgang zu übergeben, nachdem sie vom Datenquellensteuerelement ausgeführt wird. Diese Informationen umfassen die Anzahl von Zeilen, die vom Vorgang betroffen sind, das DbCommand Objekt, das die Datenquelle zum Ausführen des Vorgangs verwendet hat, und alle Ausnahmeinformationen, die dazu geführt haben. Durch Hinzufügen eines Ereignishandlerstellvertretungs zur Behandlung der Selected, Inserted Updatedoder Deleted Ereignisse können Sie diese Daten untersuchen und alle zusätzlichen Nachbearbeitungsvorgänge ausführen.

Das SqlDataSource Steuerelement macht viele Ereignisse verfügbar, mit denen Sie während eines Datenvorgangs mit den zugrunde liegenden Datenobjekten arbeiten können. In der folgenden Tabelle sind die Ereignisse und zugeordneten EventArgs und Ereignishandlerklassen aufgeführt, um Sie besser zu den verschiedenen Ereignissen zu führen, die dem Lebenszyklus eines Datenvorgangs mithilfe des SqlDataSource Steuerelements entsprechen.

Ereignis EventArgs EventHandler
Selecting tritt auf, bevor die Daten abgerufen werden. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, UpdatingDeleting tritt auf, bevor ein Einfüge-, Aktualisierungs- oder Löschvorgang ausgeführt wird. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
SelectedUpdatedDeleted, Inserted, tritt auf, nachdem die Datenabrufe, Das Einfügen, Aktualisieren oder Löschen abgeschlossen ist. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Konstruktoren

SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

Initialisiert eine neue Instanz der SqlDataSourceStatusEventArgs-Klasse unter Verwendung der angegeben Ausgabeparameter und des angegeben Rückgabewerts sowie der Anzahl der vom Datenbankvorgang betroffenen Zeilen.

Eigenschaften

AffectedRows

Ruft die Anzahl der vom Datenbankvorgang betroffenen Zeilen ab.

Command

Ruft den an die Datenbank übermittelten Datenbankbefehl ab.

Exception

Ruft einen Wrapper für von der Datenbank während eines Datenvorgangs ausgelöste Ausnahmen ab.

ExceptionHandled

Ruft einen Wert ab, der angibt, ob eine von der Datenbank ausgelöste Ausnahme behandelt wurde, oder legt diesen fest.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetHashCode()

Fungiert als Standardhashfunktion.

(Geerbt von Object)
GetType()

Ruft den Type der aktuellen Instanz ab.

(Geerbt von Object)
MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.

(Geerbt von Object)
ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.

(Geerbt von Object)

Gilt für:

Siehe auch