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 rowupdatedAddHandler 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 Š avvenutoPrivate Sub DtaDati_RowUpdated(ByVal sender As Object, ByVal e As SqlRowUpdatedEventArgs)
If e.Status = UpdateStatus.ErrorsOccurred ThenMessageBox.Show("Errore")
ElseMessageBox.Show("Evento: " & e.StatementType.ToString())
MessageBox.Show(
"Valore modificato " & e.Row("nome").ToString())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 rowupdatedDtaDati.RowUpdated += new SqlRowUpdatedEventHandler(DtaDati_RowUpdated);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 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