This question already has answers here:
Difference with Parameters.Add and Parameters.AddWithValue

(4个答案)


7年前关闭。




什么时候应该使用Parameters. Add/AddWithValue
在下面的MSDN示例中,他们将Parameters.Add用作int,将Parameters.AddWithValue用作string
command.Parameters.Add("@ID", SqlDbType.Int);
command.Parameters["@ID"].Value = customerID;

command.Parameters.AddWithValue("@demographics", demoXml);
datetime最好使用什么

最佳答案

如果您想通过所有更多工作使所有显示变得明确,请使用Add。如果您很懒,请使用AddWithValueAddWithValue将派生其值的参数类型,因此请确保它是正确的类型。例如,如果类型正确,则应将string解析为int

有一个避免使用Add的原因:如果您的参数类型是int,则必须小心使用overload that takes the parameter-name and an object,因为之后是another overload is chosen with the SqlDbType -enum

remarks(方法重载现在甚至是obsolete):

10-06 07:04