SqlParameter对象:为什么我需要搞乱所有选项?

时间:2012-01-14 22:24:11

标签: tsql sql-server-2008-r2

当我从.NET代码调用存储过程时,我可以指定一个参数值:

sqlCommand.Parameters.AddWithValue("@param1", myvalue1);

如果我正在调用SQL Server存储过程,在调用SQL Server存储过程时是否需要指定其他可选的SqlParameter属性值,如Length,datatype,precision等?

时需要吗?

1 个答案:

答案 0 :(得分:1)

在处理需要它们的数据类型时,需要声明额外的参数。

例如 - 您不能对浮点数据类型使用简单重载,因为您必须指定服务器上定义的精度和比例。

如果没有在需要它们的类型上指定它们,您将获得一个SqlException,其中包含描述性消息。

在这种情况下,您无法使用AddWithValue,但需要使用Add传递SqlParameter个对象。