Skip to content

Commit 1e81265

Browse files
Fixed command's parameters' insert in NetFx (#494)
The InvalidCastException found in .NetFx , and .NetCore does not reproduce the problem.
1 parent 7ff600e commit 1e81265

File tree

2 files changed

+10
-3
lines changed

2 files changed

+10
-3
lines changed

src/Microsoft.Data.SqlClient/netfx/src/Microsoft/Data/ProviderBase/SqlParameterCollectionHelper.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ override public void Insert(int index, object value)
235235
{
236236
OnChange(); // fire event before value is validated
237237
ValidateType(value);
238-
Validate(-1, (SqlParameterCollection)value);
238+
Validate(-1, (SqlParameter)value);
239239
InnerList.Insert(index, (SqlParameter)value);
240240
}
241241

src/Microsoft.Data.SqlClient/tests/FunctionalTests/SqlCommandTest.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -555,8 +555,15 @@ public void UpdatedRowSource_Value_Invalid()
555555
[Fact]
556556
public void ParameterCollectionTest()
557557
{
558-
SqlCommand cmd = new SqlCommand();
559-
cmd.Parameters.AddRange(new SqlParameter[] { });
558+
using (var cmd = new SqlCommand())
559+
{
560+
cmd.Parameters.Add(new SqlParameter());
561+
cmd.Parameters.AddRange(new SqlParameter[] { });
562+
cmd.Parameters.Insert(0, new SqlParameter());
563+
cmd.Parameters.Insert(1, new SqlParameter());
564+
cmd.Parameters.RemoveAt(0);
565+
cmd.Parameters.Remove(cmd.Parameters[0]);
566+
}
560567
}
561568
}
562569
}

0 commit comments

Comments
 (0)