用ADO.NET调用SQL SERVER存储过程的时候,还有必要指定parameter的类型和长度吗?
在普通的参数化查询中,定义好parameter的类型和长度有助于减少对已经缓存的查询计划的污染,在调用存储过程的时候也有必要吗?
[解决办法]
一样
*****************************************************************************
签名档: http://feiyun0112.cnblogs.com/
[解决办法]
当然, 既然叫它参数,那肯定要有类型; 参数
[解决办法]
数据库内的存储过程需要的变量类型已经定义,任何地方调用这个存储过程,必须给入相同类型的参数。
有些时候会把参数定义成varchar,然后在数据库内部再根据需要转换成需要的类型。但是给入的时候必须是字符串。
[解决办法]
SQL Server 数据类型和 .NET类型有一个映射列表的
相同的可以不加类型和长度
比如 string 和 varchar(8)/(16)等
但是某些情况下需要必须写清楚。否则会报错。