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());}
}
Nessun commento:
Posta un commento