public static void AddRowUpdatedHandler(this DbDataAdapter adapter, RowUpdatedEventHandler handler) { EventInfo updEvent = adapter.GetType().GetEvent("RowUpdated", BindingFlags.Public | BindingFlags.Instance | BindingFlags.DeclaredOnly); if (updEvent != null) { updEvent.AddEventHandler(adapter, Delegate.CreateDelegate(updEvent.EventHandlerType, handler.Method)); } }
protected void UninstallRowUpdatedHandler(DbDataAdapter da, RowUpdatedEventHandler rowUpdatedHandler) { switch (DBEngine) { case DBEngines.MSSqlServer: (da as SqlDataAdapter).RowUpdated -= new SqlRowUpdatedEventHandler(rowUpdatedHandler); break; case DBEngines.Oracle: (da as OracleDataAdapter).RowUpdated -= new OracleRowUpdatedEventHandler(rowUpdatedHandler); break; } }
/// <summary> /// Registers a <c>RowUpdatedEventHandler</c> with this instance's <c>RowUpdated</c> event. /// </summary> /// <param name="handler">The event handler to register for the event.</param> /// <returns><c>true</c> if the event handler was successfully registered, otherwise <c>false</c>.</returns> public static bool AddRowUpdatedHandler(this DbDataAdapter adapter, RowUpdatedEventHandler handler) { EventInfo updEvent = GetEvent("RowUpdated", adapter.GetType()); if (updEvent != null) { try { if (handler.Method.IsStatic) { updEvent.AddEventHandler(adapter, Delegate.CreateDelegate(updEvent.EventHandlerType, handler.Method)); } else { updEvent.AddEventHandler(adapter, Delegate.CreateDelegate(updEvent.EventHandlerType, handler.Target, handler.Method)); } return(true); } catch { } } return(false); }