我Parameters. Add/AddWithValue什么时候应该使用?在下面的MSDN例子,他们使用Parameters.Add了int和Parameters.AddWithValue用于string
Parameters. Add/AddWithValue
Parameters.Add
int
Parameters.AddWithValue
string
command.Parameters.Add("@ID", SqlDbType.Int); command.Parameters["@ID"].Value = customerID; command.Parameters.AddWithValue("@demographics", demoXml);
什么是最佳使用 datetime
datetime
使用Add,如果你想使所有明确的带有一点点更多的工作。使用AddWithValue,如果你是懒惰。AddWithValue会得出其值的参数类型,因此请确保它是正确的类型。你应该例如解析string到int,如果这是正确的类型。
Add
AddWithValue
有一个避免的原因Add,如果您的参数类型是,则int必须注意带有参数名和对象的重载,因为然后使用SqlDbType-enum 选择了另一个重载。
SqlDbType
从评论(方法过载obsolete现在是):
obsolete
使用此SqlParameterCollection.Add方法的重载来指定整数参数值时请多加注意 。由于此重载采用类型为Object的值,因此当值为零时必须将整数值转换为Object类型。如果不执行此转换,则编译器会假定您正在尝试调用 SqlParameterCollection.Add(string, SqlDbType)重载。
SqlParameterCollection.Add
SqlParameterCollection.Add(string, SqlDbType)