如果未在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
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。