SPRNET-1186 - DbParameters.GetValue returning DbParameter object instead of value

This commit is contained in:
markpollack
2009-05-21 22:39:17 +00:00
parent c356bc76a0
commit c466802526
2 changed files with 13 additions and 6 deletions

View File

@@ -247,8 +247,15 @@ namespace Spring.Data.Common
public object GetValue(string name)
{
return dataParameterCollection[dbProvider.CreateParameterNameForCollection(name)];
{
IDataParameter parameter = dataParameterCollection[dbProvider.CreateParameterNameForCollection(name)] as IDataParameter;
if (parameter != null)
{
return parameter.Value;
}
throw new UncategorizedAdoException(
"object in IDataParameterCollection is not of the type IDataParameter, it is type [" +
dataParameterCollection[dbProvider.CreateParameterNameForCollection(name)].GetType() + "].");
}
public void SetValue(string name, object parameterValue)

View File

@@ -50,9 +50,9 @@ namespace Spring.Data.Common
IDataParameter parameter = dbParameters[0];
Assert.AreEqual("p1", parameter.ParameterName);
dbParameters.SetValue("p1", "foo");
IDbDataParameter springParameter = dbParameters.GetValue("p1") as IDbDataParameter;
object springParameter = dbParameters.GetValue("p1");
Assert.IsNotNull(springParameter);
Assert.AreEqual("foo", springParameter.Value);
Assert.AreEqual("foo", springParameter);
}
[Test]
@@ -64,9 +64,9 @@ namespace Spring.Data.Common
IDataParameter parameter = dbParameters[0];
Assert.AreEqual("@p1", parameter.ParameterName);
dbParameters.SetValue("p1", "foo");
IDbDataParameter springParameter = dbParameters.GetValue("p1") as IDbDataParameter;
object springParameter = dbParameters.GetValue("p1");
Assert.IsNotNull(springParameter);
Assert.AreEqual("foo", springParameter.Value);
Assert.AreEqual("foo", springParameter);
}