SqlParameter的size属性

如果未在size参数中显式设置Size,则从dbType参数的值推断出该大小。


如果你认为上面的推断出该大小是指从SqlDbType类型推断,那你就错了,它实际上是从你传过来的参数的值来推断的,比如传递过来的值是"shengzhen",则size值为9,"shanghai",则size值为8。


那么,不同的size值会引发什么样的结果呢?size的值不同时,会导致数据库的执行计划不会重用,这样就会每次执行sql的时候重新生成新的执行计划,而浪费数据库执行时间。

 


实例化SqlParameter时,如果是字符型,一定要指定size属性

 


例如


new SqlParameter("@address", SqlDbType.Varchar, 4000)


如果是Int、Float、Bigint,DateTime之类的参数,可以不用指定size属性。  但如果size指定错误,则可能出现无法预知的错误。

 



参考资料: SqlParameter的size属性   http://www.studyofnet.com/news/853.html

你可能感兴趣的:(SqlParameter)