Assembly : System.Data (dans system.data.dll)
SyntaxePublic NotInheritable Class SqlRowUpdatedEventArgs Inherits RowUpdatedEventArgs
Dim instance As SqlRowUpdatedEventArgs
public sealed class SqlRowUpdatedEventArgs : RowUpdatedEventArgs
public ref class SqlRowUpdatedEventArgs sealed : public RowUpdatedEventArgs
public final class SqlRowUpdatedEventArgs extends RowUpdatedEventArgs
public final class SqlRowUpdatedEventArgs extends RowUpdatedEventArgs
NotesL'événement RowUpdated est déclenché lorsque Update est terminé sur une ligne.
Lors de l'utilisation de Update, deux événements se produisent pour chaque ligne de données mise à jour. L'ordre d'exécution est le suivant :
-
Les valeurs contenues dans DataRow sont déplacées vers les valeurs de paramètre.
-
L'événement OnRowUpdating est déclenché.
-
La commande s'exécute.
-
Si la commande a la valeur FirstReturnedRecord, le premier résultat retourné est placé dans DataRow.
-
Si des paramètres de sortie existent, ils sont placés dans DataRow.
-
L'événement OnRowUpdated est déclenché.
-
AcceptChanges est appelé.
ExempleL'exemple suivant montre comment utiliser les événements RowUpdating et RowUpdated.
L'événement RowUpdating retourne la sortie suivante :
Arguments d'événement : (command=System.Data.SqlClient.SqlCommand commandType=2 status=0)
L'événement RowUpdated retourne la sortie suivante :
Arguments d'événement : (command=System.Data.SqlClient.SqlCommand commandType=2 recordsAffected=1 row=System.Data.DataRow[37] status=0)
' 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 * FROMProducts" ' create DataAdapter Dim adapter As New SqlDataAdapter(queryString, connectionString) Dim builder As SqlCommandBuilder = 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
// 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 * FROMProducts"; // 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 + ")"); }
Hiérarchie d'héritageSystem.EventArgs
System.Data.Common.RowUpdatedEventArgs
System.Data.SqlClient.SqlRowUpdatedEventArgs
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Informations de version
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ