2012-01-14 129 views
0

当我打电话从.NET代码的存储过程,我可以为您这个指定一个参数值的方式:SqlParameter对象:为什么我需要混淆所有选项?

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

如果我调用SQL Server存储过程,是有过需要指定其他可选的SqlParameter属性值,如长度,数据类型,精度等,当我调用SQL Server存储过程?

When is it necesary?

回答

1

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

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

当没有在需要它们的类型上指定它们时,您将得到一个SqlException,其中包含一条描述性消息以表示这种效果。

在这种情况下,您不能使用AddWithValue,但需要使用Add传递给SqlParameter对象。