X Tutup
// created on 1/8/2002 at 23:02 // // Npgsql.NpgsqlDataAdapter.cs // // Author: // Francisco Jr. (fxjrlists@yahoo.com.br) // // Copyright (C) 2002 The Npgsql Development Team // npgsql-general@gborg.postgresql.org // http://gborg.postgresql.org/project/npgsql/projdisplay.php // // // Permission to use, copy, modify, and distribute this software and its // documentation for any purpose, without fee, and without a written // agreement is hereby granted, provided that the above copyright notice // and this paragraph and the following two paragraphs appear in all copies. // // IN NO EVENT SHALL THE NPGSQL DEVELOPMENT TEAM BE LIABLE TO ANY PARTY // FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, // INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS // DOCUMENTATION, EVEN IF THE NPGSQL DEVELOPMENT TEAM HAS BEEN ADVISED OF // THE POSSIBILITY OF SUCH DAMAGE. // // THE NPGSQL DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY // AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS // ON AN "AS IS" BASIS, AND THE NPGSQL DEVELOPMENT TEAM HAS NO OBLIGATIONS // TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. using System; using System.Data; using System.Data.Common; using System.Reflection; namespace Npgsql { /// /// Represents the method that handles the RowUpdated events. /// /// The source of the event. /// A NpgsqlRowUpdatedEventArgs that contains the event data. public delegate void NpgsqlRowUpdatedEventHandler(Object sender, NpgsqlRowUpdatedEventArgs e); /// /// Represents the method that handles the RowUpdating events. /// /// The source of the event. /// A NpgsqlRowUpdatingEventArgs that contains the event data. public delegate void NpgsqlRowUpdatingEventHandler(Object sender, NpgsqlRowUpdatingEventArgs e); /// /// This class represents an adapter from many commands: select, update, insert and delete to fill Datasets. /// public sealed class NpgsqlDataAdapter : DbDataAdapter { // Log support private static readonly String CLASSNAME = MethodBase.GetCurrentMethod().DeclaringType.Name; /// /// Row updated event. /// public event NpgsqlRowUpdatedEventHandler RowUpdated; /// /// Row updating event. /// public event NpgsqlRowUpdatingEventHandler RowUpdating; /// /// Default constructor. /// public NpgsqlDataAdapter() { } /// /// Constructor. /// /// public NpgsqlDataAdapter(NpgsqlCommand selectCommand) { NpgsqlEventLog.LogMethodEnter(LogLevel.Debug, CLASSNAME, CLASSNAME); SelectCommand = selectCommand; } /// /// Constructor. /// /// /// public NpgsqlDataAdapter(String selectCommandText, NpgsqlConnection selectConnection) : this(new NpgsqlCommand(selectCommandText, selectConnection)) { } /// /// Constructor. /// /// /// public NpgsqlDataAdapter(String selectCommandText, String selectConnectionString) : this(selectCommandText, new NpgsqlConnection(selectConnectionString)) { } /// /// Create row updated event. /// /// /// /// /// /// protected override RowUpdatedEventArgs CreateRowUpdatedEvent(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping) { NpgsqlEventLog.LogMethodEnter(LogLevel.Debug, CLASSNAME, "CreateRowUpdatedEvent"); return new NpgsqlRowUpdatedEventArgs(dataRow, command, statementType, tableMapping); } /// /// Create row updating event. /// /// /// /// /// /// protected override RowUpdatingEventArgs CreateRowUpdatingEvent(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping) { NpgsqlEventLog.LogMethodEnter(LogLevel.Debug, CLASSNAME, "CreateRowUpdatingEvent"); return new NpgsqlRowUpdatingEventArgs(dataRow, command, statementType, tableMapping); } /// /// Raise the RowUpdated event. /// /// protected override void OnRowUpdated(RowUpdatedEventArgs value) { NpgsqlEventLog.LogMethodEnter(LogLevel.Debug, CLASSNAME, "OnRowUpdated"); //base.OnRowUpdated(value); if ((RowUpdated != null) && (value is NpgsqlRowUpdatedEventArgs)) { RowUpdated(this, (NpgsqlRowUpdatedEventArgs) value); } } /// /// Raise the RowUpdating event. /// /// protected override void OnRowUpdating(RowUpdatingEventArgs value) { NpgsqlEventLog.LogMethodEnter(LogLevel.Debug, CLASSNAME, "OnRowUpdating"); if ((RowUpdating != null) && (value is NpgsqlRowUpdatingEventArgs)) { RowUpdating(this, (NpgsqlRowUpdatingEventArgs) value); } } /// /// Delete command. /// public new NpgsqlCommand DeleteCommand { get { NpgsqlEventLog.LogPropertyGet(LogLevel.Debug, CLASSNAME, "NpgDataAdapter.DeleteCommand"); return (NpgsqlCommand)base.DeleteCommand; } set { base.DeleteCommand = value; } } /// /// Select command. /// public new NpgsqlCommand SelectCommand { get { NpgsqlEventLog.LogPropertyGet(LogLevel.Debug, CLASSNAME, "NpgDataAdapter.SelectCommand"); return (NpgsqlCommand)base.SelectCommand; } set { base.SelectCommand = value; } } /// /// Update command. /// public new NpgsqlCommand UpdateCommand { get { NpgsqlEventLog.LogPropertyGet(LogLevel.Debug, CLASSNAME, "NpgDataAdapter.UpdateCommand"); return (NpgsqlCommand)base.UpdateCommand; } set { base.UpdateCommand = value; } } /// /// Insert command. /// public new NpgsqlCommand InsertCommand { get { NpgsqlEventLog.LogPropertyGet(LogLevel.Debug, CLASSNAME, "NpgDataAdapter.InsertCommand"); return (NpgsqlCommand)base.InsertCommand; } set { base.InsertCommand = value; } } } } #pragma warning disable 1591 public class NpgsqlRowUpdatingEventArgs : RowUpdatingEventArgs { public NpgsqlRowUpdatingEventArgs(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping) : base(dataRow, command, statementType, tableMapping) { } } public class NpgsqlRowUpdatedEventArgs : RowUpdatedEventArgs { public NpgsqlRowUpdatedEventArgs(DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping) : base(dataRow, command, statementType, tableMapping) { } } #pragma warning restore 1591
X Tutup