SqlDataSourceStatusEventArgs Klasa
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Dostarcza dane dla zdarzenia, które jest zgłaszane przez kontrolkę po zakończeniu SqlDataSource operacji danych.
public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
- Dziedziczenie
Przykłady
W poniższym przykładzie kodu pokazano, jak używać SqlDataSourceStatusEventArgs klasy do badania zwracanej wartości i wartości parametrów wyjściowych zwracanych podczas używania SqlDataSource kontrolki z procedurą składowaną w celu wypełnienia kontrolki GridView . Procedura składowana wybiera dane wyświetlane w GridViewobiekcie , ale także przekazuje inne informacje z powrotem do elementu wywołującego, takie jak parametr wyjściowy liczby całkowitej i wartość zwracana. Parametry używane SqlDataSource przez procedurę składowaną są zawarte w SelectParameters kolekcji i składają się z parametrów, które przekazują informacje z formularza internetowego do procedury składowanej, a także parametry, które przekazują informacje z powrotem do formularza. Właściwość tych parametrów jest ustawiona Direction na Output i 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>
Uwagi
Klasa SqlDataSourceStatusEventArgs jest używana w zdarzeniach Selected, Updated, Insertedi Deleted do przekazywania informacji o operacji bazy danych po jej wykonaniu przez kontrolę źródła danych. Te informacje obejmują liczbę wierszy, których dotyczy operacja, obiekt, DbCommand którego źródło danych użyto do wykonania operacji, oraz wszelkie informacje o wyjątku, które spowodowały. Dodając delegata programu obsługi zdarzeń w celu obsługi Selectedzdarzeń , UpdatedInserted lubDeleted, możesz zbadać te dane i wykonać dodatkowe wymagane przetwarzanie końcowe.
Kontrolka SqlDataSource uwidacznia wiele zdarzeń, które można obsłużyć do pracy z obiektami danych bazowych w trakcie operacji danych. W poniższej tabeli wymieniono zdarzenia oraz skojarzone EventArgs i klasy obsługi zdarzeń, aby lepiej prowadzić do różnych zdarzeń, które odpowiadają cyklowi życia operacji danych przy użyciu kontrolki SqlDataSource .
Zdarzenie | Eventargs | Eventhandler |
---|---|---|
Selecting występuje przed pobraniem danych. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
Inserting, UpdatingDeleting występuje przed wykonaniem operacji wstawiania, aktualizowania lub usuwania. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
Selected, , InsertedUpdatedDeleted , występuje po zakończeniu operacji pobierania, wstawiania, aktualizowania lub usuwania danych. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Konstruktory
SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception) |
Inicjuje SqlDataSourceStatusEventArgs nowe wystąpienie klasy przy użyciu określonych parametrów wyjściowych, zwracanej wartości i liczby wierszy, których dotyczy operacja bazy danych. |
Właściwości
AffectedRows |
Pobiera liczbę wierszy, których dotyczy operacja bazy danych. |
Command |
Pobiera polecenie bazy danych przesłane do bazy danych. |
Exception |
Pobiera otokę dla wszystkich wyjątków zgłaszanych przez bazę danych podczas operacji danych. |
ExceptionHandled |
Pobiera lub ustawia wartość wskazującą, czy wyjątek zgłoszony przez bazę danych został obsłużony. |
Metody
Equals(Object) |
Określa, czy dany obiekt jest taki sam, jak bieżący obiekt. (Odziedziczone po Object) |
GetHashCode() |
Służy jako domyślna funkcja skrótu. (Odziedziczone po Object) |
GetType() |
Type Pobiera wartość bieżącego wystąpienia. (Odziedziczone po Object) |
MemberwiseClone() |
Tworzy płytkią kopię bieżącego Objectelementu . (Odziedziczone po Object) |
ToString() |
Zwraca ciąg reprezentujący bieżący obiekt. (Odziedziczone po Object) |