SqlDataSourceStatusEventArgs Třída

Definice

Poskytuje data pro událost, která je vyvolána ovládacím SqlDataSource prvku po dokončení operace s daty.

public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
    inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
Dědičnost
SqlDataSourceStatusEventArgs

Příklady

Následující příklad kódu ukazuje, jak použít SqlDataSourceStatusEventArgs třídu ke zkoumání návratové hodnoty a hodnot výstupních parametrů, které jsou vráceny při použití SqlDataSource ovládacího prvku s uloženou procedurou GridView k naplnění ovládacího prvku. Uložená procedura vybere data, která se zobrazí v objektu GridView, ale předá volajícímu také další informace, jako je například celočíselný výstupní parametr a návratová hodnota. Parametry, které SqlDataSource používá pro uloženou proceduru, jsou obsaženy SelectParameters v kolekci a skládají se z parametrů, které předávají informace z webového formuláře uložené proceduře a parametry, které předávají informace zpět do formuláře. Vlastnost Direction těchto parametrů je nastavena na Output a 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>

Poznámky

Třída se SqlDataSourceStatusEventArgs používá v Selectedudálostech , Updated, Inserteda Deleted k předávání informací o databázové operaci po provedení ovládacího prvku zdroje dat. Tyto informace zahrnují počet řádků ovlivněných operací, objekt, DbCommand který zdroj dat použil k provedení operace, a informace o výjimce, které způsobily. Přidáním delegáta obslužné rutiny události pro zpracování Selectedudálostí , UpdatedInserted nebo Deleted můžete tato data prozkoumat a provést jakékoli další požadované následné zpracování.

Ovládací SqlDataSource prvek zveřejňuje mnoho událostí, které můžete zpracovat pro práci s podkladovými datovými objekty během operace s daty. Následující tabulka uvádí události a přidružené EventArgs třídy a třídy obslužné rutiny událostí, které vás lépe provedou k různým událostem, které odpovídají životnímu cyklu datové operace pomocí SqlDataSource ovládacího prvku.

Událost Eventargs Eventhandler
Selecting před načtením dat. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updatingpřed Deleting provedením operace vložení, aktualizace nebo odstranění. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted, UpdatedDeleted nastanou po dokončení operací načtení, vložení, aktualizace nebo odstranění dat. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Konstruktory

SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

Inicializuje novou instanci třídy pomocí zadaných výstupních SqlDataSourceStatusEventArgs parametrů, návratové hodnoty a počtu řádků ovlivněných operací databáze.

Vlastnosti

AffectedRows

Získá počet řádků ovlivněných operací databáze.

Command

Získá databázový příkaz odeslaný do databáze.

Exception

Získá obálku pro všechny výjimky vyvolané databází během operace dat.

ExceptionHandled

Získá nebo nastaví hodnotu označující, zda byla zpracována výjimka vyvolaná databází.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetType()

Získá aktuální Type instanci.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také