Parameters.Add(string, object)
和 Parameters.AddWithValue
虽然看似不同,但 Parameters.Add(string, object)
和 Parameters.AddWithValue
在 SQL 参数添加方面实现了相同的结果。 主要区别在于它们如何创建底层 SqlParameter
对象。
这两种方法最终都会在内部使用Add(SqlParameter)
方法。 区别在于他们的 SqlParameter
构造方法:
Parameters.Add(string, object)
: 此方法分别接受参数名称和值。然后,它在生成 SqlParameter
.Parameters.AddWithValue
: 此方法采用包含参数名称和值的单个参数。 它从提供的值推断数据类型以创建 SqlParameter
.由于 Parameters.Add
类型兼容性,将 AddWithValue
与 command.Parameters.Add("@demographics", demoXml)
语法(例如 object
)一起使用可能不会出现错误。然而,这种做法并不推荐,并且被认为是不正确的。
AddWithValue
创建Parameters.AddWithValue
源于两个关键考虑:
Parameters.Add
方法相比,提供了更直观的语法。Parameters.Add(string name, object value)
重载可能会通过隐式枚举转换表现出不可预测的行为。 AddWithValue
,通过接受单个参数,可以缓解这个潜在的问题。以上是Parameters.Add(string, object) 与 AddWithValue:真正的区别是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!