SqlDataSourceStatusEventArgs Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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
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) |