{
this.name = name;
this.value = value;
+
+ srcColumn = string.Empty;
+ SourceVersion = DataRowVersion.Current;
+ InferOracleType (value);
+#if NET_2_0
+ // Find the OciType before inferring for the size
if (value != null && value != DBNull.Value) {
this.sizeSet = true;
this.size = InferSize ();
}
- srcColumn = string.Empty;
- SourceVersion = DataRowVersion.Current;
- InferOracleType (value);
+#endif
}
public OracleParameter (string name, OracleType oracleType)
throw new ArgumentException("Size must be not be negative.");
this.value = value;
- if (value != null && value != DBNull.Value) {
- this.size = size;
+ this.size = size;
+ // set sizeSet to true iff value is not-null or non-zero size value
+ if (value != null && value != DBNull.Value && size > 0)
this.sizeSet = true;
- }
+
SourceColumnNullMapping = sourceColumnNullMapping;
OracleType = oracleType;
Direction = direction;
throw new ArgumentException("Size must be not be negative.");
this.value = value;
- if (value != null && value != DBNull.Value) {
- this.size = size;
+ this.size = size;
+
+ // set sizeSet to true iff value is not-null or non-zero size value
+ if (value != null && value != DBNull.Value && size > 0)
this.sizeSet = true;
- }
+
this.isNullable = isNullable;
this.precision = precision;
this.scale = scale;
this.value = value;
if (!oracleTypeSet)
InferOracleType (value);
+#if NET_2_0
if (value != null && value != DBNull.Value) {
this.size = InferSize ();
this.sizeSet = true;
}
+#endif
}
}