La classe SqlDataAdapter, tramite il metodo update, permette l'aggiornamento dei dati, quando si esegue tale metodo si scatenano vari eventi, tra cui RowUpdating, il quale è il momento in cui si sta facendo l'aggiornamento dei dati.
L'esempio di codice, qui di seguito, illustra come tramite il linguaggio VB.Net e C#, possiamo gestire tale evento.
VB.Net
Dim con As String = "Data Source=(local);Integrated Security=SSPI; Initial Catalog=test"
Dim Sql As String = "Select * from Dati where id = 1 "
Try'
Dim DtaDati As New SqlDataAdapter(Sql, con)
Dim cmbDati As New SqlCommandBuilder(DtaDati)Dim DttDati As New DataTable("Dati")
'gestore dell'evento RowUpdatingAddHandler DtaDati.RowUpdating, AddressOf DtaDati_RowUpdating
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 RowUpdating, si scatena, quando l'aggiornamento si sta verificandoPrivate Sub DtaDati_RowUpdating(ByVal sender As Object, ByVal e As SqlRowUpdatingEventArgs)
If e.Status = UpdateStatus.ErrorsOccurred ThenMessageBox.Show("Errore")
ElseMessageBox.Show("Evento: " & e.StatementType.ToString())
MessageBox.Show(
"Valore da - a " & e.Row("nome", DataRowVersion.Original) + " - " + e.Row("nome"))End IfEnd 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 RowUpdatingDtaDati.RowUpdating += new SqlRowUpdatingEventHandler(DtaDati_RowUpdating);DataTable DttDati = new DataTable("Dati");
DtaDati.Fill(DttDati);
//aggiorno il datoDttDati.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 RowUpdating, si scatena, quando l'aggiornamento si sta verificandovoid DtaDati_RowUpdating(object sender, SqlRowUpdatingEventArgs e)
{
if (e.Status == UpdateStatus.ErrorsOccurred){
MessageBox.Show("Errore");}
else
{
MessageBox.Show("Event: " + e.StatementType);MessageBox.Show("Valore da - a " + e.Row["nome", DataRowVersion.Original] + " - " + e.Row["nome"]);}
}
Nessun commento:
Posta un commento