+2006-07-18 Dean Brettle <dean@brettle.com>
+
+ * Tds70.cs : Fixed bug in FormatParameter() which caused
+ ArgumentOutOfRangeException when formatting 0-length varbinary values
+ under 1.0 profile.
+
2006-05-03 Senganal T <tsenganal@novell.com>
* Tds.cs :
case "image":
case "binary":
case "varbinary":
- value = String.Format ("0x{0}", BitConverter.ToString ((byte[]) parameter.Value).Replace ("-", "").ToLower ());
+ byte[] byteArray = (byte[]) parameter.Value;
+ // In 1.0 profile, BitConverter.ToString() throws ArgumentOutOfRangeException when passed a 0-length
+ // array, so handle that as a special case.
+ if (byteArray.Length == 0)
+ value = "0x";
+ else
+ value = String.Format ("0x{0}", BitConverter.ToString (byteArray).Replace ("-", "").ToLower ());
break;
default:
value = String.Format ("'{0}'", parameter.Value.ToString ().Replace ("'", "''"));