New test.
[mono.git] / mcs / class / System.Data / System.Data.OleDb.jvm / OleDbParameter.cs
index 904d2b673094a241736c1291c2b4ce749a9d5b29..c86334d6f824af0db78893a3ef70928467e6e932 100644 (file)
@@ -41,12 +41,12 @@ using java.lang;
 \r
 namespace System.Data.OleDb\r
 {\r
-    public sealed class OleDbParameter : AbstractDbParameter, IDbDataParameter, ICloneable\r
+    public sealed class OleDbParameter : AbstractDbParameter\r
     {\r
 \r
                #region Fields\r
 \r
-        internal OleDbType _oleDbType = OleDbType.VarWChar;\r
+        private OleDbType _oleDbType = OleDbType.VarWChar;\r
                private bool _isOracleRefCursor = false;\r
 \r
                #endregion // Fields\r
@@ -61,7 +61,7 @@ namespace System.Data.OleDb
                        : this (parameterName, OleDbType.VarWChar, 0, ParameterDirection.Input,\r
                                        false, 0, 0, String.Empty, DataRowVersion.Current, value)\r
         {\r
-                       _isDbTypeSet = false;\r
+                       IsDbTypeSet = false;\r
         }\r
     \r
         public OleDbParameter(String parameterName, OleDbType dbType)\r
@@ -122,15 +122,29 @@ namespace System.Data.OleDb
             get { return _oleDbType; }            \r
                        set {\r
                 _oleDbType = value;\r
-                               _isDbTypeSet = true;\r
+                               IsDbTypeSet = true;\r
             }\r
         }    \r
+\r
+#if NET_2_0\r
+               public new byte Precision 
+               { 
+                       get { return base.Precision; }\r
+                       set { base.Precision = value; } 
+               }
+
+               public new byte Scale 
+               { 
+                       get { return base.Scale; }\r
+                       set { base.Scale = value; } 
+               }\r
+#endif\r
     \r
         public new Object Value\r
         {\r
             get { return base.Value; }\r
             set {\r
-                if (!_isDbTypeSet && (value != null) && (value != DBNull.Value)) {\r
+                if (!IsDbTypeSet && (value != null) && (value != DBNull.Value)) {\r
                     _oleDbType = OleDbConvert.ValueTypeToOleDbType(value.GetType());\r
                                }\r
                 base.Value = value;\r
@@ -154,22 +168,6 @@ namespace System.Data.OleDb
 \r
                #region Methods\r
 \r
-               public override String ToString()\r
-        {\r
-            return ParameterName;\r
-        }\r
-    \r
-        public override object Clone()\r
-        {\r
-            OleDbParameter clone = new OleDbParameter();\r
-                       CopyTo(clone);\r
-\r
-            clone._oleDbType = _oleDbType;\r
-                       clone._isDbTypeSet = _isDbTypeSet;\r
-                       clone._isOracleRefCursor = _isOracleRefCursor;\r
-            return clone;\r
-        }\r
-\r
                protected internal sealed override object ConvertValue(object value)\r
                {\r
                        // can not convert null or DbNull to other types\r
@@ -185,8 +183,8 @@ namespace System.Data.OleDb
                        object convertedValue  = value;\r
 \r
                        // note : if we set user parameter jdbc type inside prepare interbal, the db type is not set\r
-                       if (value is IConvertible && (_isDbTypeSet || IsJdbcTypeSet)) {\r
-                               OleDbType oleDbType = (_isDbTypeSet) ? OleDbType : OleDbConvert.JdbcTypeToOleDbType((int)JdbcType);\r
+                       if (value is IConvertible && (IsDbTypeSet || IsJdbcTypeSet)) {\r
+                               OleDbType oleDbType = (IsDbTypeSet) ? OleDbType : OleDbConvert.JdbcTypeToOleDbType((int)JdbcType);\r
                                Type to = OleDbConvert.OleDbTypeToValueType(oleDbType);\r
                                if (!(value is DateTime && to == DbTypes.TypeOfTimespan)) //anyway will go by jdbc type\r
                                        convertedValue = Convert.ChangeType(value,to);\r
@@ -222,7 +220,7 @@ namespace System.Data.OleDb
                                        jdbcType = Types.VARCHAR;\r
                                }\r
                                else if(String.Compare("NCHAR",typeName,true) == 0) {\r
-                                       jdbcType = Types.CHAR;\r
+                                       jdbcType = Types.VARCHAR;\r
                                }\r
                        }\r
                        OleDbType = OleDbConvert.JdbcTypeToOleDbType(jdbcType);\r
@@ -242,4 +240,4 @@ namespace System.Data.OleDb
                #endregion // Methods\r
     \r
     }\r
-}
\ No newline at end of file
+}