ホームページ >データベース >mysql チュートリアル >Parameters.Add(string, object) と AddWithValue: 本当の違いは何ですか?
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
の作成は、2 つの重要な考慮事項から始まりました。
Parameters.Add
メソッドと比較してより直感的な構文を提供します。Parameters.Add(string name, object value)
オーバーロードは、暗黙的な列挙型変換で予期しない動作を示す可能性があります。 AddWithValue
は、単一の引数を受け入れることで、この潜在的な問題を軽減します。以上がParameters.Add(string, object) と AddWithValue: 本当の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。