Udostępnij za pośrednictwem


SqlDataSourceStatusEventArgs Klasa

Definicja

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
SqlDataSourceStatusEventArgs

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)

Dotyczy

Zobacz też