SqlDataSourceStatusEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные для события, вызываемого элементом SqlDataSource управления после завершения операции данных.
public ref class SqlDataSourceStatusEventArgs : EventArgs
public class SqlDataSourceStatusEventArgs : EventArgs
type SqlDataSourceStatusEventArgs = class
inherit EventArgs
Public Class SqlDataSourceStatusEventArgs
Inherits EventArgs
- Наследование
Примеры
В следующем примере кода показано, как использовать SqlDataSourceStatusEventArgs класс для проверки возвращаемого значения и значений выходных параметров, возвращаемых при использовании SqlDataSource элемента управления с хранимой процедурой для заполнения GridView элемента управления. Хранимая процедура выбирает данные, отображаемые в объекте GridView, но также передает другие сведения вызывающей стороне, например целочисленный выходной параметр и возвращаемое значение. Параметры, SqlDataSource используемые для хранимой процедуры, содержатся SelectParameters в коллекции и состоят из параметров, которые передают сведения из веб-формы в хранимую процедуру, а также параметры, которые передают сведения обратно в форму. Для Direction свойства этих параметров задано Output значение и 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>
Комментарии
Класс SqlDataSourceStatusEventArgs используется в Selected, UpdatedInsertedи Deleted события для передачи сведений об операции базы данных после выполнения элементом управления источниками данных. Эти сведения включают количество строк, затронутых операцией, объект, DbCommand используемый источником данных для выполнения операции, и все сведения об исключении, которые привели к возникновению. Добавив делегат обработчика событий для обработки Selectedсобытий UpdatedInserted или Deleted событий, вы можете изучить эти данные и выполнить любые дополнительные действия после обработки.
Элемент SqlDataSource управления предоставляет множество событий, которые можно обрабатывать для работы с базовыми объектами данных во время операции с данными. В следующей таблице перечислены события и связанные EventArgs классы обработчиков событий, которые лучше помогут вам определить различные события, соответствующие жизненному циклу операции данных с помощью SqlDataSource элемента управления.
| Event | EventArgs | EventHandler |
|---|---|---|
| Selecting происходит перед получением данных. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
| Inserting, UpdatingDeleting возникает перед выполнением операции вставки, обновления или удаления. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
| Selected, Inserted, UpdatedDeleted возникает после завершения операций извлечения данных, вставки, обновления или удаления. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Конструкторы
| Имя | Описание |
|---|---|
| SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception) |
Инициализирует новый экземпляр SqlDataSourceStatusEventArgs класса, используя указанные выходные параметры, возвращаемое значение и количество строк, затронутых операцией базы данных. |
Свойства
| Имя | Описание |
|---|---|
| AffectedRows |
Возвращает количество строк, затронутых операцией базы данных. |
| Command |
Возвращает команду базы данных, отправленную в базу данных. |
| Exception |
Возвращает оболочку для всех исключений, создаваемых базой данных во время операции с данными. |
| ExceptionHandled |
Возвращает или задает значение, указывающее, было ли обработано исключение, вызываемое базой данных. |
Методы
| Имя | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |