SqlDataSourceStatusEventArgs Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Proporciona los datos para un evento que provoca el control SqlDataSource después de que finalice una operación de datos.
public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
- Herencia
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la SqlDataSourceStatusEventArgs clase para examinar el valor devuelto y los valores de los parámetros de salida que se devuelven al usar un SqlDataSource control con un procedimiento almacenado para rellenar un GridView control. El procedimiento almacenado selecciona los datos que se muestran en GridView, pero también pasa otra información al autor de la llamada, como un parámetro de salida entero y un valor devuelto. Los parámetros que usa para SqlDataSource el procedimiento almacenado están contenidos en la SelectParameters colección y constan de parámetros que pasan información del formulario web al procedimiento almacenado, así como parámetros que devuelven información al formulario. La Direction propiedad de estos parámetros se establece en Output y 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>
Comentarios
La SqlDataSourceStatusEventArgs clase se usa en los Selectedeventos , Updated, Inserted, y Deleted para pasar información sobre una operación de base de datos después de que la realice el control de origen de datos. Esta información incluye el número de filas afectadas por la operación, el DbCommand objeto que el origen de datos usó para realizar la operación y cualquier información de excepción resultante. Al agregar un delegado de controlador de eventos para controlar los Selectedeventos , UpdatedInserted o Deleted , puede examinar estos datos y realizar cualquier procesamiento posterior adicional necesario.
El SqlDataSource control expone muchos eventos que puede controlar para trabajar con los objetos de datos subyacentes durante el transcurso de una operación de datos. En la tabla siguiente se enumeran los eventos y las clases asociadas EventArgs y de controlador de eventos, para guiarse mejor a los distintos eventos que corresponden al ciclo de vida de una operación de datos mediante el SqlDataSource control .
evento | EventArgs | EventHandler |
---|---|---|
Selecting se produce antes de recuperar los datos. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
Inserting Deleting, Updatingse produce antes de realizar una operación de inserción, actualización o eliminación. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
Selected, Inserted, Updated, Deleted se producen después de que se completen las operaciones de recuperación, inserción, actualización o eliminación de datos. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Constructores
SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception) |
Inicializa una nueva instancia de la clase SqlDataSourceStatusEventArgs, utilizando los parámetros de salida especificados, el valor devuelto y el número de filas afectado por la operación de base de datos. |
Propiedades
AffectedRows |
Obtiene el número de filas afectadas por una operación de base de datos. |
Command |
Obtiene el comando de base de datos enviado a la base de datos. |
Exception |
Obtiene un contenedor para cualquier excepción que inicie la base de datos durante una operación de datos. |
ExceptionHandled |
Obtiene o establece un valor que indica si se ha controlado una excepción iniciada por la base de datos. |
Métodos
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |