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, Updated, Insertedи Deleted для передачи сведений об операции базы данных после ее выполнения элементом управления источником данных. Эти сведения включают в себя количество строк, затронутых операцией, объект, DbCommand который источник данных использовал для выполнения операции, и любые сведения об исключении, которые были вызваны. Добавив делегат обработчика событий для обработки Selectedсобытий , UpdatedInserted или Deleted , можно проверить эти данные и выполнить любую дополнительную требуемую постобработку.
Элемент SqlDataSource управления предоставляет множество событий, которые можно обрабатывать для работы с базовыми объектами данных во время операции с данными. В следующей таблице перечислены события и связанные EventArgs классы обработчиков событий и , которые лучше помогут вам найти различные события, соответствующие жизненному циклу операции с данными SqlDataSource с помощью элемента управления .
событие | EventArgs | EventHandler |
---|---|---|
Selecting происходит перед извлечением данных. | SqlDataSourceSelectingEventArgs | SqlDataSourceSelectingEventHandler |
Inserting, Updatingвозникают Deleting перед выполнением операции вставки, обновления или удаления. | SqlDataSourceCommandEventArgs | SqlDataSourceCommandEventHandler |
Selected, Inserted, Updated, Deleted возникают после завершения операций извлечения, вставки, обновления или удаления данных. | SqlDataSourceStatusEventArgs | SqlDataSourceStatusEventHandler |
Конструкторы
SqlDataSourceStatusEventArgs(DbCommand, Int32, Exception) |
Инициализирует новый экземпляр класса SqlDataSourceStatusEventArgs с помощью указанных параметров вывода, возвращаемого значения и количества строк, затронутых операцией с базой данных. |
Свойства
AffectedRows |
Возвращает количество строк, на которые повлияла операция с базой данных. |
Command |
Возвращает команду базы данных, отправленную в базу данных. |
Exception |
Возвращает программу-оболочку для любых исключений, которые вызываются базой данных во время операции с данными. |
ExceptionHandled |
Получает или задает значение, показывающее, было ли обработано исключение, вызванное базой данных. |
Методы
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |