SqlDataSourceStatusEventArgs Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
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) |