2007-07-22 Nagappan A <anagappan@novell.com>
[mono.git] / mcs / class / System.Data / System.Data.Common / DbCommand.cs
index 4bd058ce30465aa79c38fcd6e59039308b3134ba..acddb222c4dddf32bc162117455beff47adc69c9 100644 (file)
@@ -7,7 +7,30 @@
 // Copyright (C) Tim Coleman, 2003
 //
 
-#if NET_1_2
+//
+// Copyright (C) 2004 Novell, Inc (http://www.novell.com)
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the
+// "Software"), to deal in the Software without restriction, including
+// without limitation the rights to use, copy, modify, merge, publish,
+// distribute, sublicense, and/or sell copies of the Software, and to
+// permit persons to whom the Software is furnished to do so, subject to
+// the following conditions:
+// 
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+// 
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#if NET_2_0 || TARGET_JVM
 
 using System.ComponentModel;
 using System.Data;
@@ -21,18 +44,32 @@ namespace System.Data.Common {
 
                #region Properties
 
+               [DefaultValue ("")]
+               [RefreshProperties (RefreshProperties.All)]
                public abstract string CommandText { get; set; }
+
                public abstract int CommandTimeout { get; set; }
+
+               [DefaultValue (CommandType.Text)]
+               [RefreshProperties (RefreshProperties.All)]
                public abstract CommandType CommandType { get; set; }
 
+               [DefaultValue (null)]
+               [Browsable (false)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                public DbConnection Connection {
                        get { return DbConnection; }
                        set { DbConnection = value; }
                }
 
                protected abstract DbConnection DbConnection { get; set; }
-               protected abstract DbParameterCollection DbParameterCollection { get; set; }
+               protected abstract DbParameterCollection DbParameterCollection { get; }
                protected abstract DbTransaction DbTransaction { get; set; }
+
+               [EditorBrowsable (EditorBrowsableState.Never)]
+               [Browsable (false)]
+               [DefaultValue (true)]
+               [DesignOnly (true)]
                public abstract bool DesignTimeVisible { get; set; }
 
                IDbConnection IDbCommand.Connection {
@@ -49,20 +86,21 @@ namespace System.Data.Common {
                        set { Transaction = (DbTransaction) value; }
                }
 
-               [MonoTODO]
-               public virtual DbCommandOptionalFeatures OptionalFeatures { 
-                       get { throw new NotImplementedException (); }
-               }
-
+               [Browsable (false)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                public DbParameterCollection Parameters {
                        get { return DbParameterCollection; }
                }
 
+               [Browsable (false)]
+               [DefaultValue (null)]
+               [DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
                public DbTransaction Transaction {
                        get { return DbTransaction; }
                        set { DbTransaction = value; }
                }
 
+               [DefaultValue (UpdateRowSource.Both)]
                public abstract UpdateRowSource UpdatedRowSource { get; set; }
 
                #endregion // Properties
@@ -78,29 +116,16 @@ namespace System.Data.Common {
                }
 
                protected abstract DbDataReader ExecuteDbDataReader (CommandBehavior behavior);
-
-               [MonoTODO]
-               protected virtual DbDataReader ExecuteDbPageReader (CommandBehavior behavior, int startRecord, int maxRecords)
-               {
-                       throw new NotImplementedException ();
-               }
-
                public abstract int ExecuteNonQuery ();
-               public DbDataReader ExecutePageReader (CommandBehavior behavior, int startRecord, int maxRecords)
-               {
-                       return ExecuteDbPageReader (behavior, startRecord, maxRecords);
-               }
-
-               [MonoTODO]
+               
                public DbDataReader ExecuteReader ()
                {
-                       throw new NotImplementedException ();
+                       return ExecuteDbDataReader (CommandBehavior.Default);
                }
 
-               [MonoTODO]
                public DbDataReader ExecuteReader (CommandBehavior behavior)
                {
-                       throw new NotImplementedException ();
+                        return ExecuteDbDataReader (behavior);
                }
 
                public abstract object ExecuteScalar ();