SqlDataSourceStatusEventArgs Klass

Definition

Innehåller data för en händelse som genereras av SqlDataSource kontrollen när en dataåtgärd har slutförts.

public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
    inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
Arv
SqlDataSourceStatusEventArgs

Exempel

Följande kodexempel visar hur du använder SqlDataSourceStatusEventArgs klassen för att undersöka returvärdet och värdena för utdataparametrar som returneras när du använder en SqlDataSource kontroll med en lagrad procedur för att fylla i en GridView kontroll. Den lagrade proceduren väljer data som visas i GridView, men som även skickar annan information tillbaka till anroparen, till exempel en heltalsutdataparameter och ett returvärde. De parametrar som SqlDataSource används för den lagrade proceduren finns i SelectParameters samlingen och består av parametrar som skickar information från webbformuläret till den lagrade proceduren samt parametrar som skickar information tillbaka till formuläret. Egenskapen Direction för dessa parametrar är inställd på Output och 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>

Kommentarer

Klassen SqlDataSourceStatusEventArgs används i Selectedhändelserna , Updated, Insertedoch Deleted för att skicka information om en databasåtgärd efter att den har utförts av datakällans kontroll. Den här informationen omfattar antalet rader som påverkas av åtgärden, DbCommand det objekt som datakällan använde för att utföra åtgärden och eventuell undantagsinformation som resulterade. Genom att lägga till en händelsehanterardelegat för att hantera Selectedhändelserna , UpdatedInserted eller Deleted kan du undersöka dessa data och utföra ytterligare efterbearbetning som krävs.

Kontrollen SqlDataSource exponerar många händelser som du kan hantera för att arbeta med underliggande dataobjekt under en dataåtgärd. I följande tabell visas händelser och associerade EventArgs klasser och händelsehanterarklasser för att bättre vägleda dig till de olika händelser som motsvarar livscykeln för en dataåtgärd med hjälp av SqlDataSource kontrollen.

Händelse EventArgs Händelsehanterare
Selecting inträffar innan data hämtas. SqlDataSourceSelectingEventArgs SqlDataSourceSelectingEventHandler
Inserting, Updating, Deleting inträffar innan en infognings-, uppdaterings- eller borttagningsåtgärd utförs. SqlDataSourceCommandEventArgs SqlDataSourceCommandEventHandler
Selected, Inserted, Updated, inträffar Deleted när datahämtningen, infogningen, uppdateringen eller borttagningen har slutförts. SqlDataSourceStatusEventArgs SqlDataSourceStatusEventHandler

Konstruktorer

Name Description
SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception)

Initierar en ny instans av klassen med hjälp av SqlDataSourceStatusEventArgs de angivna utdataparametrarna, returvärdet och antalet rader som påverkas av databasåtgärden.

Egenskaper

Name Description
AffectedRows

Hämtar antalet rader som påverkas av en databasåtgärd.

Command

Hämtar databaskommandot som skickas till databasen.

Exception

Hämtar en omslutning för eventuella undantag som genereras av databasen under en dataåtgärd.

ExceptionHandled

Hämtar eller anger ett värde som anger om ett undantag som genererats av databasen har hanterats.

Metoder

Name Description
Equals(Object)

Avgör om det angivna objektet är lika med det aktuella objektet.

(Ärvd från Object)
GetHashCode()

Fungerar som standard-hash-funktion.

(Ärvd från Object)
GetType()

Hämtar den aktuella instansen Type .

(Ärvd från Object)
MemberwiseClone()

Skapar en ytlig kopia av den aktuella Object.

(Ärvd från Object)
ToString()

Returnerar en sträng som representerar det aktuella objektet.

(Ärvd från Object)

Gäller för

Se även