4

sqlcommand.Parameters.Add(...) 函数有多个重载。他们中的一些人不采取大小,有些人。默认设置什么尺寸?不设置参数大小是否安全?会影响性能吗?

4

2 回答 2

4

SqlParameter.Size 属性文档

如果未显式设置,则从指定参数值的实际大小推断大小。

Peter Wone 在293315上有一个很棒的回复,它更详细地描述了这实际上意味着什么

于 2009-05-24T12:32:03.177 回答
1

可以将对于数据库数据类型而言太大的参数从 .Net 代码发送到 SQL Server。如果您在 .Net 代码中创建参数时设置了大小,如果发送的值太大,则会引发异常。所以你会更快知道并且不会浪费数据库调用。

或者,您可能希望为某些文本字段设置最大字符数。数据库可能允许 400 个字符的姓氏,但您只需要 varchar 100。

参数 Nullable 属性类似。它是可选的,但如果参数在 sproc 调用中不能为空,则在您的 .Net 代码中使其不可为空将更快地突出问题。

于 2009-05-24T12:32:49.367 回答