SqlCeDataAdapter.RowUpdated Event

Si verifica durante una chiamata al metodo Update in seguito all'esecuzione di un comando di aggiornamento nell'origine dati. L'evento viene generato al tentativo di eseguire l'aggiornamento.

Spazio dei nomi: System.Data.SqlServerCe
Assembly: System.Data.SqlServerCe (in system.data.sqlserverce.dll)

Sintassi

'Dichiarazione
Public Event RowUpdated As SqlCeRowUpdatedEventHandler
public event SqlCeRowUpdatedEventHandler RowUpdated
public:
event SqlCeRowUpdatedEventHandler^ RowUpdated {
    void add (SqlCeRowUpdatedEventHandler^ value);
    void remove (SqlCeRowUpdatedEventHandler^ value);
}
/** @event */
public void add_RowUpdated (SqlCeRowUpdatedEventHandler value)

/** @event */
public void remove_RowUpdated (SqlCeRowUpdatedEventHandler value)
JScript supporta l'utilizzo di eventi, ma non la dichiarazione di nuovi eventi.

Esempio

Nell'esempio che segue sono illustrati gli eventi RowUpdating e RowUpdated in uso.

Public Sub Snippet5()
    ' Create DataAdapter
    '
    Dim adp As New SqlCeDataAdapter("SELECT * FROM products", "Data Source = MyDatabase.sdf")

    Dim cb As New SqlCeCommandBuilder(adp)

    ' Create and fill the dataset (select only first 5 rows)
    '
    Dim ds As New DataSet()
    adp.Fill(ds, 0, 5, "Table")

    ' Modify dataSet
    '
    Dim table As DataTable = ds.Tables("Table")
    table.Rows(1)("Product Name") = "Asian Chai"

    ' Add handlers
    '
    AddHandler adp.RowUpdating, AddressOf OnRowUpdating
    AddHandler adp.RowUpdated, AddressOf OnRowUpdated

    ' Update, this operation fires two events (RowUpdating/RowUpdated)  
    '
    adp.Update(ds, "Table")

    ' Remove handlers
    '
    RemoveHandler adp.RowUpdating, AddressOf OnRowUpdating
    RemoveHandler adp.RowUpdated, AddressOf OnRowUpdated

End Sub 'Snippet5


Private Shared Sub OnRowUpdating(ByVal sender As Object, ByVal e As SqlCeRowUpdatingEventArgs)
    Console.WriteLine("OnRowUpdating")
    Console.WriteLine(e.Command.CommandText)
    Console.WriteLine(e.StatementType)
    Console.WriteLine(e.Status)

End Sub 'OnRowUpdating


Private Shared Sub OnRowUpdated(ByVal sender As Object, ByVal e As SqlCeRowUpdatedEventArgs)
    Console.WriteLine("OnRowUpdated")
    Console.WriteLine(e.Command.CommandText)
    Console.WriteLine(e.StatementType)
    Console.WriteLine(e.Status)

End Sub 'OnRowUpdated
public void Snippet5()
{
    // Create DataAdapter
    //
    SqlCeDataAdapter adp = new SqlCeDataAdapter(
        "SELECT * FROM products",
        "Data Source = MyDatabase.sdf");

    SqlCeCommandBuilder cb = new SqlCeCommandBuilder(adp);

    // Create and fill the dataset (select only first 5 rows)
    //
    DataSet ds = new DataSet();
    adp.Fill(ds, 0, 5, "Table");

    // Modify dataSet
    //
    DataTable table = ds.Tables["Table"];
    table.Rows[1]["Product Name"] = "Asian Chai";

    // Add handlers
    //
    adp.RowUpdating += new SqlCeRowUpdatingEventHandler(OnRowUpdating);
    adp.RowUpdated += new SqlCeRowUpdatedEventHandler(OnRowUpdated);

    // Update, this operation fires two events (RowUpdating/RowUpdated)  
    //
    adp.Update(ds, "Table");

    // Remove handlers
    //
    adp.RowUpdating -= new SqlCeRowUpdatingEventHandler(OnRowUpdating);
    adp.RowUpdated -= new SqlCeRowUpdatedEventHandler(OnRowUpdated);
}

private static void OnRowUpdating(object sender, SqlCeRowUpdatingEventArgs e)
{
    Console.WriteLine("OnRowUpdating");
    Console.WriteLine(e.Command.CommandText);
    Console.WriteLine(e.StatementType);
    Console.WriteLine(e.Status);
}

private static void OnRowUpdated(object sender, SqlCeRowUpdatedEventArgs e)
{
    Console.WriteLine("OnRowUpdated");
    Console.WriteLine(e.Command.CommandText);
    Console.WriteLine(e.StatementType);
    Console.WriteLine(e.Status);
}

Osservazioni

Quando si utilizza il metodo Update, si verificano due eventi per ogni riga di dati aggiornata. L'ordine di esecuzione è il seguente:

  1. I valori della classe DataRow vengono spostati nei valori di parametro.

  2. Viene generato l'evento OnRowUpdating.

  3. Viene eseguito il comando.

  4. Se il comando è impostato su FirstReturnedRecord, il primo risultato restituito viene inserito nella classe DataRow.

  5. Viene generato l'evento OnRowUpdated.

  6. Viene chiamato il metodo AcceptChanges.

Piattaforme

Piattaforme di sviluppo

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Informazioni sulla versione
.NET Framework e .NET Compact Framework
Supportato in 3.5
.NET Framework
Supportato in 3.0
.NET Compact Framework e .NET Framework
Supportato in 2.0

Vedere anche

Riferimento

SqlCeDataAdapter Class
SqlCeDataAdapter Members
System.Data.SqlServerCe Namespace