Skip to content

Commit e575483

Browse files
committed
Add overloads of Add. Fixes #424
1 parent b2915dd commit e575483

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

src/MySqlConnector/MySql.Data.MySqlClient/MySqlParameterCollection.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,15 @@ public override int Add(object value)
3333
return m_parameters.Count - 1;
3434
}
3535

36+
public MySqlParameter Add(MySqlParameter parameter)
37+
{
38+
AddParameter(parameter);
39+
return parameter;
40+
}
41+
42+
public MySqlParameter Add(string parameterName, MySqlDbType mySqlDbType) => Add(new MySqlParameter(parameterName, mySqlDbType));
43+
public MySqlParameter Add(string parameterName, MySqlDbType mySqlDbType, int size) => Add(new MySqlParameter(parameterName, mySqlDbType, size));
44+
3645
public override void AddRange(Array values)
3746
{
3847
foreach (var obj in values)

tests/SideBySide/ParameterCollection.cs

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,34 @@ public void SetParameterString()
161161
Assert.Equal(3, m_parameterCollection.Count);
162162
}
163163

164+
[Fact]
165+
public void AddMySqlParameter()
166+
{
167+
var parameter = new MySqlParameter("test", MySqlDbType.Double, 3);
168+
var parameter2 = m_parameterCollection.Add(parameter);
169+
Assert.Same(parameter, parameter2);
170+
Assert.Same(parameter, m_parameterCollection[0]);
171+
}
172+
173+
[Fact]
174+
public void AddNameType()
175+
{
176+
var parameter = m_parameterCollection.Add("test", MySqlDbType.Double);
177+
Assert.Equal("test", parameter.ParameterName);
178+
Assert.Equal(MySqlDbType.Double, parameter.MySqlDbType);
179+
Assert.Same(parameter, m_parameterCollection[0]);
180+
}
181+
182+
[Fact]
183+
public void AddNameTypeSize()
184+
{
185+
var parameter = m_parameterCollection.Add("test", MySqlDbType.Double, 10);
186+
Assert.Equal("test", parameter.ParameterName);
187+
Assert.Equal(MySqlDbType.Double, parameter.MySqlDbType);
188+
Assert.Equal(10, parameter.Size);
189+
Assert.Same(parameter, m_parameterCollection[0]);
190+
}
191+
164192
MySqlCommand m_command;
165193
MySqlParameterCollection m_parameterCollection;
166194
}

0 commit comments

Comments
 (0)