Il blog di Emanuele Mattei in ambito Database

Programmazione database, ado.net e database mobile

Blog

Siti

Siti Sql Server

Siti vari

Tools

Ado.Net Gestione dell'evento rowupdated per l'aggiornamento dei dati (VB.Net e C#)

La classe SqlDataAdapter, tramite il metodo update, aggiorna i dati di una fonte dati sql server tramite il metodo Update. Al termine dell'aggiornamento, si scatena un evento (rowupdated) . L'esempio qui di seguito, illustra come creare un gestore di evento per tale evento.

VB.Net

Dim con As String = "Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"

Dim Sql As String = "Select * from Dati "

Try

'

 

Dim DtaDati As New SqlDataAdapter(Sql, con)

Dim cmbDati As New SqlCommandBuilder(DtaDati)

Dim DttDati As New DataTable("Dati")

'gestore dell'evento rowupdated

AddHandler DtaDati.RowUpdated, AddressOf DtaDati_RowUpdated

 

DtaDati.Fill(DttDati)

'aggiorno il dato

DttDati.Rows(0)("nome") = DttDati.Rows(0)("nome") & " Nuovo"

'metodo che aggiorna il dato

DtaDati.Update(DttDati)

 

Catch ex As ExceptionMessageBox.Show("Errore:" & ex.Message)

 

End Try

'Funzione per la gestione dell'evento RowUpdate, si scatena, quando l'aggiornamento Š avvenuto

Private Sub DtaDati_RowUpdated(ByVal sender As Object, ByVal e As SqlRowUpdatedEventArgs)

If e.Status = UpdateStatus.ErrorsOccurred Then

MessageBox.Show("Errore")

Else

MessageBox.Show("Evento: " & e.StatementType.ToString())

MessageBox.Show("Valore modificato " & e.Row("nome").ToString())

End If

End Sub

 

C#

string con = "Data Source=(local);Integrated Security=SSPI; Initial Catalog=test";

String Sql = "Select * from Dati where id = 1";

try

{

SqlDataAdapter DtaDati = new SqlDataAdapter(Sql, con);

SqlCommandBuilder cmbDati = new SqlCommandBuilder(DtaDati);

//gestore dell'evento rowupdated

DtaDati.RowUpdated += new SqlRowUpdatedEventHandler(DtaDati_RowUpdated);DataTable DttDati = new DataTable("Dati");

DtaDati.Fill(DttDati);

//aggiorno il dato

DttDati.Rows[0]["nome"] = DttDati.Rows[0]["nome"] + " Nuovo";

//metodo che aggiorna il dato

DtaDati.Update(DttDati);

 

}

catch (Exception ex)

{

MessageBox.Show("Errore: " + ex.Message);

}

 

//Funzione per la gestione dell'evento RowUpdate, si scatena, quando l'aggiornamento Š avvenuto

void DtaDati_RowUpdated(object sender, SqlRowUpdatedEventArgs e)

{

if (e.Status == UpdateStatus.ErrorsOccurred)

{

MessageBox.Show("Errore di aggiornamento");

}

else

{

MessageBox.Show("Evento: " + e.StatementType);MessageBox.Show("Valore modificato " + e.Row["nome"].ToString());

}

}

Posted: dic 28 2008, 06.37 by EmanueleM | with no comments
Filed under: