違いは何ですか?
DBCmd.Parameters.Add("user_name", IfxType.VarChar);
DBCmd.Parameters["user_name"].Value = p_u;
と
DBCmd.Parameters.Add("user_name", p_u);
ここでのベストプラクティスは何ですか。どちらが安全で、一方が他方よりも優れたパフォーマンスを発揮しますか?
違いは何ですか?
DBCmd.Parameters.Add("user_name", IfxType.VarChar);
DBCmd.Parameters["user_name"].Value = p_u;
と
DBCmd.Parameters.Add("user_name", p_u);
ここでのベストプラクティスは何ですか。どちらが安全で、一方が他方よりも優れたパフォーマンスを発揮しますか?
示されている例では、主な違いは、使用する型が明示的に認識されていることです。IfxType.VarChar
これは、正確な状況と、IFX が文字列を、、または のいずれにデフォルト設定するかによって、重要になる場合があります。正直なところ、デフォルトでどれが選択されるかわかりません。Char
VarChar
LongVarChar
通常は明示的に指定することをお勧めしますが、新しいパラメーターは から返されるため、インデクサーを介して再取得する必要はありませんAdd
。私はおそらくお勧めします:
DBCmd.Parameters.Add("user_name", IfxType.VarChar).Value = p_u;
または多分:
DBCmd.Parameters.Add("user_name", IfxType.VarChar, 20).Value = p_u;
はパラメータ20
のサイズです。
マークの答えにもかかわらずParameters.Add
、値を追加することは非推奨です-それはに置き換えられましたAddWithValue