SqlRowUpdatedEventArgs 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供 RowUpdated 事件的資料。
public ref class SqlRowUpdatedEventArgs sealed : System::Data::Common::RowUpdatedEventArgs
public sealed class SqlRowUpdatedEventArgs : System.Data.Common.RowUpdatedEventArgs
type SqlRowUpdatedEventArgs = class
inherit RowUpdatedEventArgs
Public NotInheritable Class SqlRowUpdatedEventArgs
Inherits RowUpdatedEventArgs
- 繼承
範例
下列範例示範如何使用 RowUpdating 和 RowUpdated 事件。
事件會 RowUpdating 傳回此輸出:
事件自變數: (command=System.Data.SqlClient.SqlCommand commandType=2 status=0)
事件會 RowUpdated 傳回此輸出:
事件自變數: (command=System.Data.SqlClient.SqlCommand commandType=2 recordsAffected=1 row=System.Data.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 connectionString =
"Integrated Security=SSPI;database=Northwind;server=MSSQL1";
const string queryString = "SELECT * FROM Products";
// create DataAdapter
SqlDataAdapter adapter = new SqlDataAdapter(queryString, connectionString);
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
// Create and fill DataSet (select only first 5 rows)
DataSet dataSet = new DataSet();
adapter.Fill(dataSet, 0, 5, "Table");
// Modify DataSet
DataTable table = dataSet.Tables["Table"];
table.Rows[0][1] = "new product";
// add handlers
adapter.RowUpdating += new SqlRowUpdatingEventHandler( OnRowUpdating );
adapter.RowUpdated += new SqlRowUpdatedEventHandler( OnRowUpdated );
// update, this operation fires two events
// (RowUpdating/RowUpdated) per changed row
adapter.Update(dataSet, "Table");
// remove handlers
adapter.RowUpdating -= new SqlRowUpdatingEventHandler( OnRowUpdating );
adapter.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 connectionString As String = _
"Integrated Security=SSPI;database=Northwind;server=MSSQL1"
Const queryString As String = "SELECT * FROM Products"
' create DataAdapter
Dim adapter As New SqlDataAdapter(queryString, connectionString)
Dim builder As New SqlCommandBuilder(adapter)
' Create and fill DataSet (select only first 5 rows)
Dim dataSet As New DataSet()
adapter.Fill(dataSet, 0, 5, "Table")
' Modify DataSet
Dim table As DataTable = dataSet.Tables("Table")
table.Rows(0)(1) = "new product"
' add handlers
AddHandler adapter.RowUpdating, AddressOf OnRowUpdating
AddHandler adapter.RowUpdated, AddressOf OnRowUpdated
' update, this operation fires two events
'(RowUpdating/RowUpdated) per changed row
adapter.Update(dataSet, "Table")
' remove handlers
RemoveHandler adapter.RowUpdating, AddressOf OnRowUpdating
RemoveHandler adapter.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
End Class
備註
當 RowUpdated 到數據列完成時 Update ,就會引發 事件。
使用 Update時,每個數據列都會更新兩個事件。 執行順序如下:
中的 DataRow 值會移至參數值。
便會引發 OnRowUpdating 事件。
命令會執行。
如果命令設定
FirstReturnedRecord
為 ,且第一個傳回的結果會放在 中 DataRow。如果有輸出參數,它們會放在 中 DataRow。
便會引發 OnRowUpdated 事件。
呼叫 AcceptChanges。
建構函式
SqlRowUpdatedEventArgs(DataRow, IDbCommand, StatementType, DataTableMapping) |
初始化 SqlRowUpdatedEventArgs 類別的新執行個體。 |
屬性
Command |
取得或設定當呼叫 SqlCommand 時執行的 Update(DataSet)。 |
Errors |
取得執行 Command 時由 .NET 資料提供者產生的任何錯誤。 (繼承來源 RowUpdatedEventArgs) |
RecordsAffected |
取得因執行 SQL 陳述式所變更、插入或刪除的資料列數目。 (繼承來源 RowUpdatedEventArgs) |
Row |
取得經由 DataRow 所傳送的 Update(DataSet)。 (繼承來源 RowUpdatedEventArgs) |
RowCount |
取得在已更新記錄的批次中處理的列數。 (繼承來源 RowUpdatedEventArgs) |
StatementType |
取得已執行的 SQL 陳述式型別。 (繼承來源 RowUpdatedEventArgs) |
Status |
取得 UpdateStatus 的 Command。 (繼承來源 RowUpdatedEventArgs) |
TableMapping |
取得經由 DataTableMapping 所傳送的 Update(DataSet)。 (繼承來源 RowUpdatedEventArgs) |
方法
CopyToRows(DataRow[]) |
複製已修改之列的參考至所提供的陣列中。 (繼承來源 RowUpdatedEventArgs) |
CopyToRows(DataRow[], Int32) |
複製已修改之列的參考至所提供的陣列中。 (繼承來源 RowUpdatedEventArgs) |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
ToString() |
傳回代表目前物件的字串。 (繼承來源 Object) |
適用於
另請參閱
- ADO.NET 概觀 \(部分機器翻譯\)