merge r98600
[mono.git] / mcs / class / System.Data / System.Data.Odbc / OdbcDataAdapter.cs
index fa89cfabaa79ace6bea2689dbd06454feaf23178..6e102bb3471787a57160e8ca1ef062bf8e0bd117 100644 (file)
@@ -42,11 +42,13 @@ namespace System.Data.Odbc {
        [DefaultEvent ("RowUpdated")]
        [DesignerAttribute ("Microsoft.VSDesigner.Data.VS.OdbcDataAdapterDesigner, "+ Consts.AssemblyMicrosoft_VSDesigner, "System.ComponentModel.Design.IDesigner")]
        [ToolboxItemAttribute ("Microsoft.VSDesigner.Data.VS.OdbcDataAdapterToolboxItem, "+ Consts.AssemblyMicrosoft_VSDesigner)]
-       public sealed class OdbcDataAdapter : DbDataAdapter, IDbDataAdapter 
+       public sealed class OdbcDataAdapter : DbDataAdapter, IDbDataAdapter, ICloneable
        {
                #region Fields
 
-               bool disposed = false;  
+#if ONLY_1_1
+               bool disposed;
+#endif
                OdbcCommand deleteCommand;
                OdbcCommand insertCommand;
                OdbcCommand selectCommand;
@@ -56,17 +58,13 @@ namespace System.Data.Odbc {
 
                #region Constructors
                
-               public OdbcDataAdapter ()       
-                       : this (new OdbcCommand ())
+               public OdbcDataAdapter () : this ((OdbcCommand) null)
                {
                }
 
                public OdbcDataAdapter (OdbcCommand selectCommand) 
                {
-                       DeleteCommand = null;
-                       InsertCommand = null;
                        SelectCommand = selectCommand;
-                       UpdateCommand = null;
                }
 
                public OdbcDataAdapter (string selectCommandText, OdbcConnection selectConnection) 
@@ -121,38 +119,22 @@ namespace System.Data.Odbc {
 
                IDbCommand IDbDataAdapter.DeleteCommand {
                        get { return DeleteCommand; }
-                       set { 
-                               if (!(value is OdbcCommand)) 
-                                       throw new ArgumentException ();
-                               DeleteCommand = (OdbcCommand)value;
-                       }
+                       set { DeleteCommand = (OdbcCommand) value; }
                }
 
                IDbCommand IDbDataAdapter.InsertCommand {
                        get { return InsertCommand; }
-                       set { 
-                               if (!(value is OdbcCommand)) 
-                                       throw new ArgumentException ();
-                               InsertCommand = (OdbcCommand)value;
-                       }
+                       set { InsertCommand = (OdbcCommand) value; }
                }
 
                IDbCommand IDbDataAdapter.SelectCommand {
                        get { return SelectCommand; }
-                       set { 
-                               if (!(value is OdbcCommand)) 
-                                       throw new ArgumentException ();
-                               SelectCommand = (OdbcCommand)value;
-                       }
+                       set { SelectCommand = (OdbcCommand) value; }
                }
 
                IDbCommand IDbDataAdapter.UpdateCommand {
                        get { return UpdateCommand; }
-                       set { 
-                               if (!(value is OdbcCommand)) 
-                                       throw new ArgumentException ();
-                               UpdateCommand = (OdbcCommand)value;
-                       }
+                       set { UpdateCommand = (OdbcCommand) value; }
                }
 
 
@@ -175,6 +157,7 @@ namespace System.Data.Odbc {
                        return new OdbcRowUpdatingEventArgs (dataRow, command, statementType, tableMapping);
                }
 
+#if ONLY_1_1
                protected override void Dispose (bool disposing)
                {
                        if (!disposed) {
@@ -184,7 +167,9 @@ namespace System.Data.Odbc {
                                // Release unmanaged resources
                                disposed = true;
                        }
+                       base.Dispose (true);
                }
+#endif
 
                protected override void OnRowUpdated (RowUpdatedEventArgs value) 
                {
@@ -198,6 +183,12 @@ namespace System.Data.Odbc {
                                RowUpdating (this, (OdbcRowUpdatingEventArgs) value);
                }
 
+               [MonoTODO]
+               object ICloneable.Clone ()
+               {
+                       throw new NotImplementedException ();
+               }
+
                #endregion // Methods
 
                #region Events and Delegates