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中文網其他相關文章!