Freigeben über


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 zurückgegeben werden, wenn ein SqlDataSource Steuerelement mit einer gespeicherten Prozedur zum Auffüllen eines GridView Steuerelements verwendet wird. Die gespeicherte Prozedur wählt Daten aus, die GridViewin angezeigt werden, übergibt aber auch andere Informationen an den Aufrufer, z. B. einen ganzzahligen Ausgabeparameter und einen Rückgabewert. Die Parameter, die SqlDataSource für 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 aus Parametern, die Informationen an das Formular übergeben. Die Direction -Eigenschaft dieser Parameter ist auf Output und ReturnValuefestgelegt.

<%@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 SelectedEreignissen , Updated, Insertedund Deleted verwendet, um Informationen zu einem Datenbankvorgang zu übergeben, nachdem er vom Datenquellensteuerelement ausgeführt wurde. Diese Informationen umfassen die Anzahl der Zeilen, die vom Vorgang betroffen sind, das DbCommand Objekt, das die Datenquelle zum Ausführen des Vorgangs verwendet hat, sowie alle resultierenden Ausnahmeinformationen. Durch Hinzufügen eines Ereignishandlerdelegats zum Behandeln der SelectedEreignisse , UpdatedInserted oder Deleted können Sie diese Daten untersuchen und alle zusätzlichen erforderlichen Nachverarbeitungsschritte ausführen.

Das SqlDataSource Steuerelement macht viele Ereignisse verfügbar, die Sie behandeln können, um während eines Datenvorgangs mit den zugrunde liegenden Datenobjekten zu arbeiten. 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 mit dem SqlDataSource -Steuerelement entsprechen.

Ereignis EventArgs EventHandler
Selecting tritt auf, bevor die Daten abgerufen werden. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updatingtritt Deleting auf, bevor ein Einfüge-, Aktualisierungs- oder Löschvorgang ausgeführt wird. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted, UpdatedDeleted treten auf, nachdem die Datenabruf-, Einfüge-, Aktualisierungs- oder Löschvorgänge abgeschlossen wurden. 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:

Weitere Informationen