SqlDataSourceStatusEventArgs Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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) |