| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223 |
- //
- // SqlSharpDataAdapter.cs - data adapter for SQL#
- // but uses a data reader
- // as the source of data
- //
- // based on
- // System.Data.SqlSharpClient.SqlSharpDataAdapter.cs
- // in Mono http://www.go-mono.com/
- //
- // Author:
- // Rodrigo Moya ([email protected])
- // Daniel Morgan ([email protected])
- // Tim Coleman ([email protected])
- //
- // (C) Ximian, Inc 2002
- // Copyright (C) 2002 Tim Coleman
- // Copyright (C) 2002, 2003 Daniel Morgan
- //
- using System;
- using System.ComponentModel;
- using System.Data;
- using System.Data.Common;
- namespace Mono.Data.SqlSharp
- {
- [DefaultEvent ("RowUpdated")]
- public sealed class SqlSharpDataAdapter : DbDataAdapter, IDbDataAdapter
- {
- #region Fields
- bool disposed = false;
- IDbCommand deleteCommand;
- IDbCommand insertCommand;
- IDbCommand selectCommand;
- IDbCommand updateCommand;
- #endregion
- #region Constructors
-
- public SqlSharpDataAdapter ()
- {
- }
- public SqlSharpDataAdapter (IDbCommand selectCommand)
- {
- DeleteCommand = null;
- InsertCommand = null;
- SelectCommand = selectCommand;
- UpdateCommand = null;
- }
- #endregion
- #region Properties
- // [DataCategory ("Update")]
- [DataSysDescription ("Used during Update for deleted rows in DataSet.")]
- [DefaultValue (null)]
- public IDbCommand DeleteCommand {
- get { return deleteCommand; }
- set { deleteCommand = value; }
- }
- // [DataCategory ("Update")]
- [DataSysDescription ("Used during Update for new rows in DataSet.")]
- [DefaultValue (null)]
- public IDbCommand InsertCommand {
- get { return insertCommand; }
- set { insertCommand = value; }
- }
- // [DataCategory ("Fill")]
- [DataSysDescription ("Used during Fill/FillSchema.")]
- [DefaultValue (null)]
- public IDbCommand SelectCommand {
- get { return selectCommand; }
- set { selectCommand = value; }
- }
- // [DataCategory ("Update")]
- [DataSysDescription ("Used during Update for modified rows in DataSet.")]
- [DefaultValue (null)]
- public IDbCommand UpdateCommand {
- get { return updateCommand; }
- set { updateCommand = value; }
- }
- IDbCommand IDbDataAdapter.DeleteCommand {
- get { return DeleteCommand; }
- set {
- DeleteCommand = value;
- }
- }
- IDbCommand IDbDataAdapter.InsertCommand {
- get { return InsertCommand; }
- set {
- InsertCommand = value;
- }
- }
- IDbCommand IDbDataAdapter.SelectCommand {
- get { return SelectCommand; }
- set {
- SelectCommand = value;
- }
- }
- IDbCommand IDbDataAdapter.UpdateCommand {
- get { return UpdateCommand; }
- set {
- UpdateCommand = value;
- }
- }
- ITableMappingCollection IDataAdapter.TableMappings {
- get { return TableMappings; }
- }
- #endregion // Properties
- #region Methods
- protected override RowUpdatedEventArgs CreateRowUpdatedEvent (DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
- {
- return new SqlSharpRowUpdatedEventArgs (dataRow, command, statementType, tableMapping);
- }
- protected override RowUpdatingEventArgs CreateRowUpdatingEvent (DataRow dataRow, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
- {
- return new SqlSharpRowUpdatingEventArgs (dataRow, command, statementType, tableMapping);
- }
- protected override void Dispose (bool disposing)
- {
- if (!disposed) {
- if (disposing) {
- // Release managed resources
- }
- // Release unmanaged resources
- disposed = true;
- }
- }
- protected override void OnRowUpdated (RowUpdatedEventArgs value)
- {
- if (RowUpdated != null)
- RowUpdated (this, (SqlSharpRowUpdatedEventArgs) value);
- }
- protected override void OnRowUpdating (RowUpdatingEventArgs value)
- {
- if (RowUpdating != null)
- RowUpdating (this, (SqlSharpRowUpdatingEventArgs) value);
- }
-
- public int FillTable (DataTable dataTable, IDataReader dataReader)
- {
- return base.Fill (dataTable, dataReader);
- }
- #endregion // Methods
- #region Events and Delegates
- // [DataCategory ("Update")]
- [DataSysDescription ("Event triggered before every DataRow during Update.")]
- public event SqlSharpRowUpdatedEventHandler RowUpdated;
- // [DataCategory ("Update")]
- [DataSysDescription ("Event triggered after every DataRow during Update.")]
- public event SqlSharpRowUpdatingEventHandler RowUpdating;
- #endregion // Events and Delegates
- }
- public sealed class SqlSharpRowUpdatedEventArgs : RowUpdatedEventArgs {
- #region Constructors
- public SqlSharpRowUpdatedEventArgs (DataRow row, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
- : base (row, command, statementType, tableMapping) {
- }
- #endregion // Constructors
- #region Properties
- public new IDbCommand Command {
- get { return base.Command; }
- }
- #endregion // Properties
- }
- public delegate void SqlSharpRowUpdatedEventHandler (object sender, SqlSharpRowUpdatedEventArgs e);
- public sealed class SqlSharpRowUpdatingEventArgs : RowUpdatingEventArgs {
- #region Constructors
- public SqlSharpRowUpdatingEventArgs (DataRow row, IDbCommand command, StatementType statementType, DataTableMapping tableMapping)
- : base (row, command, statementType, tableMapping) {
- }
- #endregion // Constructors
- #region Properties
- public new IDbCommand Command {
- get { return base.Command; }
- set { base.Command = value; }
- }
- #endregion // Properties
- }
- public delegate void SqlSharpRowUpdatingEventHandler(object sender, SqlSharpRowUpdatingEventArgs e);
- }
|