SqlDataSourceStatusEventArgs Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Fornece dados para um evento que é gerado pelo SqlDataSource controlo após a conclusão de uma operação de dados.
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 seguinte demonstra como usar a SqlDataSourceStatusEventArgs classe para examinar o valor de retorno e os valores dos parâmetros de saída que são devolvidos ao usar um SqlDataSource controlo com um procedimento armazenado para preencher um GridView controlo. O procedimento armazenado seleciona os dados que são exibidos no GridView, mas também transmite outra informação de volta ao chamador, como um parâmetro inteiro de saída e um valor de retorno. Os parâmetros que os SqlDataSource usos para o procedimento armazenado estão contidos pela SelectParameters coleção e consistem em parâmetros que transmitem informação do formulário Web para o procedimento armazenado, bem como parâmetros que transmitem informação de volta ao formulário. A Direction propriedade destes 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>
Observações
A SqlDataSourceStatusEventArgs classe é usada nos Selectedeventos , Updated, Inserted, e Deleted para passar informação sobre uma operação de base de dados após esta ser realizada pelo controlo de fonte de dados. Esta informação inclui o número de linhas afetadas pela operação, o DbCommand objeto que a fonte de dados usou para executar a operação e qualquer informação de exceção resultante. Ao adicionar um delegado handler de eventos para gerir os Selected, Updated, Inserted ou Deleted eventos, pode examinar estes dados e realizar qualquer pós-processamento adicional necessário.
O SqlDataSource controlo expõe muitos eventos que pode gerir para trabalhar com os objetos de dados subjacentes durante o decorrer de uma operação de dados. A tabela seguinte lista os eventos e as classes associadas EventArgs e de handler de eventos, para o orientar melhor para os vários eventos que correspondem ao ciclo de vida de uma operação de dados usando o SqlDataSource controlo.
| Evento | EventArgs | EventHandler |
|---|---|---|
| Selecting ocorre antes de os dados serem recuperados. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
| Inserting, Updating, Deleting ocorre antes de ser realizada uma operação de inserção, atualização ou eliminação. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
| Selected, Inserted, Updated, Deleted ocorrem após a conclusão das operações de recuperação, inserção, atualização ou eliminação de dados. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Construtores
| Name | Description |
|---|---|
| SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception) |
Inicializa uma nova instância da SqlDataSourceStatusEventArgs classe, usando os parâmetros de saída especificados, valor de retorno e número de linhas afetadas pela operação da base de dados. |
Propriedades
| Name | Description |
|---|---|
| AffectedRows |
Obtém o número de linhas afetadas por uma operação de base de dados. |
| Command |
Faz com que o comando da base de dados seja submetido para a base de dados. |
| Exception |
Recebe um wrapper para quaisquer exceções lançadas pela base de dados durante uma operação de dados. |
| ExceptionHandled |
Recebe ou define um valor que indica se uma exceção lançada pela base de dados foi tratada. |
Métodos
| Name | Description |
|---|---|
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |