SqlDataSourceStatusEventArgs Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Fornece dados para um evento que é gerado pelo controle SqlDataSource após uma operação de dados ser concluída.
public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
- Herança
Exemplos
O exemplo de código a seguir demonstra como usar a SqlDataSourceStatusEventArgs classe para examinar o valor retornado e os valores dos parâmetros de saída retornados ao usar um SqlDataSource controle com um procedimento armazenado para preencher um GridView controle. O procedimento armazenado seleciona os dados exibidos no GridView, mas também passa outras informações de volta para o chamador, como um parâmetro de saída inteiro e um valor retornado. Os parâmetros que o SqlDataSource usa para o procedimento armazenado são contidos pela SelectParameters coleção e consistem em parâmetros que passam informações do formulário da Web para o procedimento armazenado, bem como parâmetros que passam informações de volta para o formulário. A Direction propriedade desses parâmetros é definida como Output e 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>
Comentários
A SqlDataSourceStatusEventArgs classe é usada nos Selectedeventos , Updated, Insertede Deleted para passar informações sobre uma operação de banco de dados depois de ser executada pelo controle da fonte de dados. Essas informações incluem o número de linhas afetadas pela operação, o DbCommand objeto que a fonte de dados usou para executar a operação e todas as informações de exceção que resultaram. Ao adicionar um delegado de manipulador de eventos para manipular os Selectedeventos , UpdatedInserted ou Deleted , você pode examinar esses dados e executar qualquer pós-processamento adicional necessário.
O SqlDataSource controle expõe muitos eventos que você pode manipular para trabalhar com os objetos de dados subjacentes durante uma operação de dados. A tabela a seguir lista os eventos e as classes associadas EventArgs e do manipulador de eventos para orientar melhor você para os vários eventos que correspondem ao ciclo de vida de uma operação de dados usando o SqlDataSource controle .
Evento | EventArgs | EventHandler |
---|---|---|
Selecting ocorre antes que os dados sejam recuperados. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
Inserting, Updating, Deleting ocorrem antes que uma operação de inserção, atualização ou exclusão seja executada. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
Selected, Inserted, Updated, Deleted ocorrem após a conclusão das operações de recuperação, inserção, atualização ou exclusão de dados. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Construtores
SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception) |
Inicializa uma nova instância da classe SqlDataSourceStatusEventArgs, usando o valor retornado, o número de linhas afetadas pela operação de banco de dados e os parâmetros de saída especificados. |
Propriedades
AffectedRows |
Obtém o número de linhas afetadas por uma operação do banco de dados. |
Command |
Obtém o comando de banco de dados enviado para o banco de dados. |
Exception |
Obtém um wrapper para as exceções geradas pelo banco de dados durante uma operação de dados. |
ExceptionHandled |
Obtém ou define um valor que indica se uma exceção gerada pelo banco de dados foi tratada. |
Métodos
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |