SqlRowUpdatingEventArgs Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Предоставляет данные для RowUpdating события.
Для новой разработки используйте Microsoft. Data.SqlClient. На этой странице приведены документы System.Data.SqlClient.
public ref class SqlRowUpdatingEventArgs sealed : System::Data::Common::RowUpdatingEventArgs
public sealed class SqlRowUpdatingEventArgs : System.Data.Common.RowUpdatingEventArgs
type SqlRowUpdatingEventArgs = class
inherit RowUpdatingEventArgs
Public NotInheritable Class SqlRowUpdatingEventArgs
Inherits RowUpdatingEventArgs
- Наследование
Примеры
В следующем примере показано, как использовать как события, RowUpdating так и RowUpdated события.
Событие возвращает следующие выходные RowUpdating данные:
event args: (command=System.Data.SqlClient.SQLCommand commandType=2 status=0)
Событие возвращает следующие выходные RowUpdated данные:
event args: (command=System.Data.SqlClient.SQLCommand commandType=2 recordsAffected=1 row=System.DataRow[37] status=0)
// handler for RowUpdating event
private static void OnRowUpdating(object sender, SqlRowUpdatingEventArgs e)
{
PrintEventArgs(e);
}
//Handler for RowUpdated event.
private static void OnRowUpdated(object sender, SqlRowUpdatedEventArgs e)
{
PrintEventArgs(e);
}
public static int Main()
{
const string CONNECTION_STRING = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer";
const string SELECT_ALL = "select * from Products";
//Create DataAdapter.
SqlDataAdapter rAdapter = new SqlDataAdapter(SELECT_ALL, CONNECTION_STRING);
//Create and fill DataSet (Select only first 5 rows.).
DataSet rDataSet = new DataSet();
rAdapter.Fill(rDataSet, 0, 5, "Table");
//Modify DataSet.
DataTable rTable = rDataSet.Tables["Table"];
rTable.Rows[0][1] = "new product";
//Add handlers.
rAdapter.RowUpdating += new SqlRowUpdatingEventHandler( OnRowUpdating );
rAdapter.RowUpdated += new SqlRowUpdatedEventHandler( OnRowUpdated );
//Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row.
rAdapter.Update(rDataSet, "Table");
//Remove handlers.
rAdapter.RowUpdating -= new SqlRowUpdatingEventHandler( OnRowUpdating );
rAdapter.RowUpdated -= new SqlRowUpdatedEventHandler( OnRowUpdated );
return 0;
}
private static void PrintEventArgs(SqlRowUpdatingEventArgs args)
{
Console.WriteLine("OnRowUpdating");
Console.WriteLine(" event args: ("+
" command=" + args.Command +
" commandType=" + args.StatementType +
" status=" + args.Status + ")");
}
private static void PrintEventArgs(SqlRowUpdatedEventArgs args)
{
Console.WriteLine("OnRowUpdated");
Console.WriteLine(" event args: ("+
" command=" + args.Command +
" commandType=" + args.StatementType +
" recordsAffected=" + args.RecordsAffected +
" status=" + args.Status + ")");
}
'Handler for RowUpdating event.
Private Shared Sub OnRowUpdating(sender As Object, e As SqlRowUpdatingEventArgs)
PrintEventArgs(e)
End Sub
'Handler for RowUpdated event.
Private Shared Sub OnRowUpdated(sender As Object, e As SqlRowUpdatedEventArgs)
PrintEventArgs(e)
End Sub
'Entry point which delegates to C-style main Private Function.
Public Overloads Shared Sub Main()
System.Environment.ExitCode = Main(System.Environment.GetCommandLineArgs())
End Sub
Overloads Public Shared Function Main(args() As String) As Integer
Const CONNECTION_STRING As String = "Persist Security Info=False;Integrated Security=SSPI;database=northwind;server=mySQLServer"
Const SELECT_ALL As String = "select * from Products"
'Create DataAdapter.
Dim rAdapter As New SqlDataAdapter(SELECT_ALL, CONNECTION_STRING)
'Create and fill DataSet (Select only first 5 rows.).
Dim rDataSet As New DataSet()
rAdapter.Fill(rDataSet, 0, 5, "Table")
'Modify DataSet.
Dim rTable As DataTable = rDataSet.Tables("Table")
rTable.Rows(0)(1) = "new product"
'Add handlers.
AddHandler rAdapter.RowUpdating, AddressOf OnRowUpdating
AddHandler rAdapter.RowUpdated, AddressOf OnRowUpdated
'Update--this operation fires two events (RowUpdating and RowUpdated) for each changed row.
rAdapter.Update(rDataSet, "Table")
'Remove handlers.
RemoveHandler rAdapter.RowUpdating, AddressOf OnRowUpdating
RemoveHandler rAdapter.RowUpdated, AddressOf OnRowUpdated
Return 0
End Function
Overloads Private Shared Sub PrintEventArgs(args As SqlRowUpdatingEventArgs)
Console.WriteLine("OnRowUpdating")
Console.WriteLine(" event args: (" & _
" command=" & _
args.Command.CommandText & _
" commandType=" & _
args.StatementType & _
" status=" & _
args.Status & _
")")
End Sub
Overloads Private Shared Sub PrintEventArgs(args As SqlRowUpdatedEventArgs)
Console.WriteLine("OnRowUpdated")
Console.WriteLine(" event args: (" & _
" command=" & _
args.Command.CommandText & _
" commandType=" & _
args.StatementType & _
" recordsAffected=" & _
args.RecordsAffected & _
" status=" & _
args.Status & _
")")
End Sub
Комментарии
Событие RowUpdating вызывается перед строкой Update .
При использовании Updateдля каждой строки данных обновляется два события. Порядок выполнения выглядит следующим образом:
Значения в этом DataRow файле перемещаются в значения параметров.
Возникает событие OnRowUpdating.
Выполняется команда.
Если задано
FirstReturnedRecordзначение команды, а первый возвращенный результат помещается в .DataRowЕсли есть выходные параметры, они помещаются в .DataRow
Возникает событие OnRowUpdated.
AcceptChanges вызывается.
Конструкторы
| Имя. | Описание |
|---|---|
| SqlRowUpdatingEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping) |
Инициализирует новый экземпляр класса SqlRowUpdatingEventArgs. Для новой разработки используйте Microsoft. Data.SqlClient. На этой странице приведены документы System.Data.SqlClient. |
Свойства
| Имя. | Описание |
|---|---|
| BaseCommand |
Возвращает или задает IDbCommand объект для экземпляра этого класса. (Унаследовано от RowUpdatingEventArgs) |
| Command |
Возвращает или задает SqlCommand выполнение при выполнении Update(DataSet). Для новой разработки используйте Microsoft. Data.SqlClient. На этой странице приведены документы System.Data.SqlClient. |
| Errors |
Возвращает все ошибки, созданные поставщиком данных .NET при выполнении Command. (Унаследовано от RowUpdatingEventArgs) |
| Row |
DataRow Возвращает значение, которое будет отправлено серверу в рамках операции вставки, обновления или удаления. (Унаследовано от RowUpdatingEventArgs) |
| StatementType |
Возвращает тип выполняемой инструкции SQL. (Унаследовано от RowUpdatingEventArgs) |
| Status |
Возвращает или задает UpdateStatusCommand свойство. (Унаследовано от RowUpdatingEventArgs) |
| TableMapping |
Возвращает объект для отправки DataTableMappingUpdate(DataSet)через . (Унаследовано от RowUpdatingEventArgs) |
Методы
| Имя. | Описание |
|---|---|
| Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
| GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
| GetType() |
Возвращает Type текущего экземпляра. (Унаследовано от Object) |
| MemberwiseClone() |
Создает неглубокую копию текущей Object. (Унаследовано от Object) |
| ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |